ClickOnce-Deployment konfigurieren
Information
ClickOnce ist die Deployment-Technik von Microsoft, um die nativen Applikationen über das Web zu deployen (zu verteilen).
Vorteile:
Der Client kann mit ClickOnce-Technik über ein Webfrontend per Link parametrisiert aufgerufen werden.
Beispiel: Aus einer im Intranet befindlichen Projektliste heraus kann das entsprechende Projekt direkt in PLANTA project aufgerufen werden.
Der ClickOnce-Client aktualisiert sich von alleine.
Mehr zu ClickOnce finden Sie hier.
PLANTA stellt in jedem Lieferpaket zusätzlich zum klassischen Client auch den ClickOnce-Client zur Verfügung.
Voraussetzungen
Informationen
Windows SDK for Windows 7 and .NET Framework 4 mit mindestens Version 7.0A
PLANTA project ClickOnce-Client
MageUI
Informationen
Für eine erfolgreiche ClickOnce-Installation braucht die Applikation zwei Manifeste.
Das Application Manifest beschreibt die Dateien, die für die Anwendung gebraucht werden, sowie die Sicherheitsstufe, die nötig ist, um das Programm auszuführen.
Das Deployment Manifest identifiziert die ClickOnce-Anwendung anhand des Application Manifest und gibt Update-Regeln sowie die minimale Version vor.
Für das Arbeiten mit diesen Manifesten verwendet PLANTA das grafische Tool MageUI (Teil des Windows SDK). Ein Beispiel für die beiden Manifeste wird mit dem ClickOnce-Client mitgeliefert. Diese müssen für die eigene Umgebung angepasst werden.
planta.exe.manifest | Application Manifest |
planta.application | Deployment Manifest |
Hinweis
Im Falle eines Aktualisieren der Dateien in einem bestehenden ClickOnce-Client muss aufgrund eines Fehlers in MageUI vor dem Ausführen der Dateien
planta.exe.manifest
undplanta.application
dasApplication Files
-Verzeichnis inApplicationFiles
umbenannt werden.
Vorgehensweise ohne PLANTA-Client-Adapter
Das Application Manifest
Vorgehensweise
MageUI.exe starten
File → New → Application Manifest auswählen oder mit File → Open das bereits vorhandene Manifest planta.exe.manifest öffnen.
Die Felder Name und Version entsprechend ausfüllen und als Prozessor x86 auswählen.

Die Tabs Description und Application Options können übersprungen werden.
Als Nächstes in den Tab Files wechseln und auf die Auslassungspunkte (...) klicken und im Dialogfenster den Ordner, in dem der Client liegt, auswählen.
Die Checkbox When populating add the .deploy extension to any file that does not have it aktivieren und auf Populate klicken.
Die Files werden dem Manifest hinzugefügt.

Im Tab Permissions Required das Sicherheitslevel FullTrust aus der Listbox auswählen.

File → Save As auswählen und die Datei speichern.
Ein Dialog für das Signieren öffnet sich.
Hier das eigene Zertifikat und Passwort auswählen. Wenn kein Zertifikat vorhanden ist, kann ein Testzertifikat erstellt werden (mit makecert.exe auch aus dem Windows SDK: Anleitungen finden sich im Netz).
Das Deployment Manifest
Vorgehensweise
File → New → Deployment Manifest auswählen oder mit File → Open das bereits vorhandene Manifest planta.application öffnen.
Die Felder Name und Version entsprechend ausfüllen und als Prozessor x86 aus der Listbox auswählen.

Im Tab Description die Felder Publisher und Product ausfüllen.
Product ist der Name der Applikation, die im Windows-Startmenü erscheint, wenn das Programm für die Offline-Nutzung installiert wird.
Will man mehrere ClickOnce-Clients installieren, um beispielsweise einen Client für ein Produktiv- und einen für ein Entwicklungssystem zu nutzen, müssen sich die Einträge im Feld Product des jeweiligen Clients unterscheiden.
Zum Beispiel:
PLANTA project - Entwicklung
PLANTA project - Produktion
Die entsprechenden Einträge finden sich dann in der Liste der installierten Software wieder.

In den Tab Deployment Options wechseln.
Soll der Client nur Online aufrufbar sein, aus der Listbox Application Type Online Only auswählen.
Empfohlen wird aber Install Locally auszuwählen, damit der Client nicht bei jedem Aufruf neu geladen werden muss.
Die Checkboxen Use .deploy file name extension und Allow URL parameters to be passed to application aktivieren.

Im Tab Update Options die Checkbox This application should check for updates sowie Specify a minimum required version for this application auswählen.
Als Version die aktuelle Version eintragen.
Wenn ein Update ansteht, muss der Prozess erneut durchgeführt und die zwei Manifeste aktualisiert werden.
Im Deployment Manifest unter Application Reference das Manifest neu auswählen und unter Name die neue Versionsnummer vom Application Manifest ergänzen.

Den Tab Application Reference auswählen und mit einem Klick auf Select Manifest das Dialogfenster öffnen.
Das Application Manifest, welches im vorherigen Schritt angelegt wurde, auswählen und auf Open klicken.

Wie im ersten Schritt File → Save As auswählen und die Datei speichern.
Im Dialog zum Signieren erneut das Zertifikat und Passwort eintragen.
Hinweis
Beim Erzeugen des ClickOnce-Pakets kann die Meldung Warning MSB3112 auftreten. Weitere Informationen dazu finden Sie hier.
Konfiguration
Vorgehensweise
Im Client-Verzeichnis gibt es eine planta.ini.deploy, die den Server und den Port festlegt, zu dem der Client sich standardmäßig verbindet.
Installiert ein Benutzer den Client, wird die ini-Datei in das lokale Verzeichnis des Benutzers kopiert.
Beim Aufruf der URL des Application Manifest kann ein optionaler Server-Parameter in der Form von planta.application?server=host:port übergeben werden.
In diesem Fall wird die lokale ini-Datei mit diesem Wert überschrieben.
Startet man den Client nach der Installation über das Startmenü, verbindet er sich zu dem in der lokalen ini-Datei festgelegten Server.
Details
Weitere Client-Parameter können in der ini-Datei gesetzt bzw. über die URL in der Form [parameter
Wert]&[parameter
Wert]... eingegeben werden.Beim Verwenden des ClickOnce-Clients sind die Client-Logfiles wie folgt zu finden:
Den Windows-Task-Manager öffnen (Strg+Alt+Entf)
Im Reiter Prozesse Rechtsklick auf den planta.exe-Prozess und Dateipfad öffnen auswählen
In dem sich öffnenden Verzeichnis befindet sich der Log-Ordner, in dem alle Client-Logs liegen.
Hinweis
Nachdem Dateien geändert wurden, müssen sowohl das Deployment Manifest als auch das Application Manifest neu signiert werden.
Vorgehensweise mit PLANTA-Client-Adapter
Vorbereitung
Information
Ein neues Verzeichnis erstellen mit der Versionsnummer. Diese kann beliebig gewählt werden, am besten nimmt man die Versionsnummer der Clients.
In dieses Verzeichnis den PLANTAClientAdapter kopieren.
Im selben Verzeichnis einen weiteren Ordner anlegen und dort den PLANTAClient ablegen.
Den Client Adapter in der PLANTAClientAdapter.exe.config konfigurieren. Als Client-Verzeichnis muss der relative Pfad zum eben abgelegten Client angegeben werden.
Hinweis
Wenn die Konfiguration zu einem späteren Zeitpunkt erneut geändert wird, müssen sowohl das Deployment Manifest als auch das Application Manifest neu signiert werden.
Beispiel der Ordnerstruktur:

Das Application Manifest
Vorgehensweise
MageUI.exe starten
File → New → Application Manifest auswählen.
Die Felder Name und Version entsprechend ausfüllen und als Prozessor msil auswählen.

Die Tabs Description und Application Options können übersprungen werden.
Als Nächstes in den Tab Files wechseln und auf die Auslassungspunkte (...) klicken und im Dialogfenster den Ordner mit der Versionsnummer (der in den vorbereitenden Schritten angelegt wurde) auswählen.
Die Checkbox When populating add the .deploy extension to any file that does not have it aktivieren, wenn das Deployment über einen Webserver stattfinden soll und auf Populate klicken.
Die Files werden dem Manifest hinzugefügt.
Für die Datei WPFVisifire.Charts.dll die Checkbox bei "optional" setzen.

Im Tab Permissions Required das Sicherheitslevel FullTrust aus der Listbox auswählen.
File → Save As auswählen und die Datei im Versionsordner speichern.
Ein Dialog für das Signieren öffnet sich.
Hier das eigene Zertifikat und Passwort auswählen.
Das Deployment Manifest
Vorgehensweise
File → New → Deployment Manifest auswählen.
Die Felder Name und Version entsprechend ausfüllen und als Prozessor msil aus der Listbox auswählen.
Im Tab Description die Felder Publisher und Product ausfüllen.

Product ist der Name der Applikation, der im Windows-Startmenü erscheint, wenn das Programm für die Offline-Nutzung installiert wird.
Will man mehrere ClickOnce-ClientAdapter installieren, um beispielsweise einen Client für ein Produktiv- und einen für ein Entwicklungssystem zu nutzen, müssen sich die Einträge im Feld Product des jeweiligen Clients unterscheiden.
Zum Beispiel:
PLANTA project - Entwicklung
PLANTA project - Produktion
Die entsprechenden Einträge finden sich dann in der Liste der installierten Software wieder.
In den Tab Deployment Options wechseln.
Hier Install Locally auswählen, damit der Client nicht bei jedem Aufruf neu geladen werden muss.
Die Checkbox Include Start Location (Provider URL) in the manifest deaktivieren
Die Checkboxen Use .deploy file name extension aktivieren, falls dies auch im Application Manifest aktiviert wurde .

Den Tab Application Reference auswählen und mit einem Klick auf Select Manifest das Dialogfenster öffnen.
Das Application Manifest, welches im vorherigen Schritt angelegt wurde, auswählen und auf Open klicken.

Wie im ersten Schritt File → Save As auswählen und speichern. Wichtig ist, dass diese Datei in der Verzeichnisstruktur eine Ebene über der Application Manifest Datei gespeichert wird.
Im Dialog zum Signieren erneut das Zertifikat und Passwort eintragen.
Siehe auch: Client-Parameter