Technik:CoPlanner Win-Client Installation durch ClickOnce

Aus CoPlanner 10
Zur Navigation springenZur Suche springen

ClickOnce ermöglicht die Installation des Windows Clients entweder per Webserver (Microsoft Internet Information Services) oder per Dateifreigabe. Der Vorteil der ClickOnce Installation liegt darin, dass nach einer einmaligen Installation Änderungen automatisch auf die Clients ausgerollt werden können. Grundsätzlich ist das Deployment via Dateifreigabe wesentlich einfacher, da kein Webserver konfiguriert werden muss.

Benötigte Dateien/Ordner

Voraussetzungen:

  • Das .Net Framework 4.8 muss am Clientrechner installiert werden. Das bedeutet, dass der Rechner, auf dem der CoPlanner Client via ClickOnce installiert werden soll, das .Net Framework benötigt!
  • Für die Installation des .Net Framework sind lokale Administratorrechte erforderlich!!!
Hinweis  ClickOnce kann auf Windows Terminalservern 2003 - 2008R2 nicht verwendet werden.


Ein Deployment Paket besteht aus den Dateien:

Bis auf das Verzeichnis Client sind alle Dateien bzw. Verzeichnisse Microsoft Standardverzeichnisse. Das Client-Verzeichnis ist CoPlanner spezifisch. Dieses enthält die kundenspezifischen Dateien, welche nach der Installation des Clients, beim Start gedownloadet werden.

Hinweis  Das Verzeichnis Client MUSS im Deployment Paket enthalten sein.
Hinweis  Es kann vorkommen, dass im Clientverzeichnis noch Dateien mit dem Namen Thumbs.db oder vssver2.scc enthalten sind. Diese müssen vor dem ausführen der Datei CreateVersionAndChecksum.exe gelöscht werden.

Erstellen der Datei Version.txt:

  • Achtung - Version.txt darf am Server nicht mehr manuell gesetzt werden, sondern durch das Tool CreateVersionAndChecksum.exe, welches einfach im Dateisystem des Webordners doppelt geklickt werden muss.
  • Version.txt: Diese Datei enthält in der ersten Zeile eine Versionsnummer, die bei jedem Start des Clients überprüft wird. Ist die Versionsnummer größer als die Versionsnummer am Client so wird eine neue Version vom Server heruntergeladen. Wird eine Änderung im Clientordner vollzogen („ClientConfig.xml“ Portänderung), und diese soll auf alle Clients verteilt werden, so muss diese Nummer durch erneutes ausführen der Datei CreateVersionAndChecksum.exe' erhöht werden. Dadurch werden die Dateien beim nächsten Client-Start automatisch updatet. In der zweiten Zeile steht die gesamte Größe des Client Ordners. Anschließend werden alle zu übertragenden Dateien aufgelistet.

Die Dateien im Verzeichnis Client müssen dieselbe Ordnerstruktur aufweisen, wie im Windows-Client. Möchte man beispielsweise eine Kundenspezifische start.html Datei verteilen, so muss sich diese im Verzeichnis ../Client/html/“ befinden.


Einstellungen IIS

Wird ein Deployment via HTTP bereitgestellt, so ist hierfür ein IIS (Internet Information Server) notwendig. Das Deploymentverzeichnis muss in Inetpub\wwwroot kopiert werden oder als virtuelles Verzeichnis zur Verfügung gestellt werden.

Einstellungen IIS 7

Der IIS sollte mit folgenden Einstellungen im Servermanager installiert werden:

Einstellungen innerhalb der WebAnwendung

Im ersten Schritt muss das Verzeichnis in eine Anwendung konvertiert werden. Dazu muss per Rechtsklick auf das Verzeichnis im IIS Manager der Punkt In Anwendung konvertieren ausgewählt werden:

Dabei sollten die Default Einstellungen passen. Bei Bedarf kann ein eigenständiger Anwendungspool ausgewählt werden:

In der Ansicht Features der Seite muss nun die Datei coplanner.htm als Standarddokument definiert werden:

Das Durchsuchen von Verzeichnissen muss unter dem Punkt Verzeichnis durchsuchen aktiviert werden:

Damit auch .config Dateien übertragen werden müssen diese aus der Anforderungsfilterung entfernt werden:

Damit auch .rdl, .pak und .dat Dateien übertragen werden muss für diese unter dem Punkt MIME-Typ der MIME-Typ wie folgt definiert werden:

Einstellungen IIS 6

Der IIS sollte mit folgenden Einstellungen im Servermanager installiert werden:

Technik, Einstellungen IIS

Einstellungen innerhalb der WebAnwendung

Folgende Einstellungen sind notwendig, um einem Client den Zugriff zu ermöglichen:

Anmerkung zum ScreenShot rechts unten: .config muss aus der Liste entfernt werden.

MIME Types im IIS

Falls beim Deployment im IIS nicht alle Dateien auf den Client Rechner kopiert werden, müssen für die entsprechenden Dateien MIME Types definiert werden. Für die Definition der MIME Types gehen Sie bitte wie folgt vor:

1. Öffnen der IIS Management Konsole
2. Rechtsklick auf den Computernamen und auf Eigenschaften gehen
3. auf MIME Types klicken
Technik, Eigenschaften von WAWISNEU1
4. auf Neu klicken
Technik, MIME - Typ

Definition: MIME Type „application/octet-stream“:

  • .config
  • .lic
  • .dat
  • .scc
  • .rdl
  • .rptproj
  • .suo
  • .pak

Definition: MIME Type „application/x-ms-manifest“:

  • .manifest

Nach dem die MIME Types eingetragen wurden, sollte ein IISReset durchgeführt werden. Dabei wird der Webservice neu gestartet. Für den Neustart muss in der Kommandozeile iisreset eingegeben werden. Im log des IIS finden sich auch oft entsprechende Fehlermeldungen. Bei einem 404 3 ist wiederum der MIME Type für die entsprechende Dateiendung einzutragen.

Zusätzliche Einstellungen falls nicht alle Dateien übertragen werden

Für ein erfolgreiches Deployment müssen die „Frontpage Server extensions“ auf dem entsprechenden Server installiert sein. Zusätzlich muss in der Datei: %windir%\System32\inetsrv\config\applicationHost.config folgende Einträge entsprechend angepasst werden:

<section name="customMetadata" allowDefinition="AppHostOnly" overrideModeDefault="Allow"/>
<add fileExtension=".config" allowed="True"/>
<section name="directoryBrowse" overrideModeDefault="Allow"/>
<section name="directoryBrowse" overrideModeDefault="Allow"/>

Im Basisverzeichnis des Click Once Deployments sollte eine „web.config“ Datei mit folgendem Inhalt abgelegt werden:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
   <system.webServer>
      <directoryBrowse enabled="True"/>
      <staticContent>
         <mimeMap fileExtention=".user" mimeType="application/x-ms-application"/>
         <mimeMap fileExtention=".exe.config" mimeType="application/x-ms-application"/>
         <mimeMap fileExtention=".suo" mimeType="application/x-ms-application"/>
      </staticContent>
         <security>
            <requestFiltering>
               <fileExtensions allowUnlisted="True" applyToWebDAV="True"/>
            </requestFiltering>
         </security>
      <defaultDocument>
         <files>
               <add value="coplanner.htm"/>
         </files>
      </defaultDocument>
   </system.webServer>
</configuration>


Grundsätzlich können bei einem Click Once Deployment keine versteckten Dateien bzw. Dateien mit Umlauten im Dateinamen übertragen werden.

.config oder exe… Dateien werden nicht übertragen

Nach einem Rechtsklick auf das IIS Projekt auf Eigenschaften gehen und in der Konfiguration die Extension „.config“ entfernen. Dies kann auch für die anderen Dateien gemacht werden die nicht übertragen werden.


Probleme bei der Installation

Erscheint gleich nach dem Start des ClickOnce Setups eine Fehlermeldung mit folgendem Inhalt (Auszug bei Ansicht der Fehlerdetails),

kann dies zwei bekannte Ursachen haben:

  • Jener Benutzer, welcher die ClickOnce Installation durchführen möchte besitzt nicht das Recht, in jenem Verzeichnis, in dem das Client-Setup enthalten ist, die benötigten Dateien zu lesen. Wird das Deployment durch einen http-Server bereitgestellt, ist darauf zu achten, dass bei der Aktivierung des anonymen Zugriffs der IIS-Benutzer (per default ISUER_[Servername]) das Leserecht auf den Verzeichnissen besitzt. Ist die integrierte NT-Autentifizierung aktiv und kein anonymer Zugriff erlaubt, muss der Benutzer, welcher die ClickOnce Installation startet/ausführt, entsprechende Leserechte auf die Verzeichnisse besitzen.
  • Es wurde zuvor schon eine ClickOnce-Installation durchgeführt, jedoch von einem anderen Verzeichnis/Server. Obwohl die Vorgängerversion richtig durch Deinstallation über die Softwareübersicht des Systems erfolgte, bleiben Verzeichnisse im NT-Benutzerverzeichnis bestehen. Durch diese wird die Installation fehlerbedingt abgebrochen.

Dieses Problem kann wie folgt gelöst werden: Im Verzeichnis „C:\Dokumente und Einstellungen\[NT-Benutzername] \Lokale Einstellungen\Apps\2.0\“ befinden sich jene Dateien, die via ClickOnce installiert wurden. Um dieses Verzeichnis finden zu können, muss im Windows Explorer die Option „Versteckte Verzeichnisse anzeigen“ aktiviert werden („Extras“ [[Image:arrow.jpg] „Ordneroption“). In diesem Ordner sind Unterverzeichnisse vorhanden, welche wie bereits erwähnt die ClickOnce Programmkomponenten enthalten. Es müssen daher alle Unterordner des Ordners „C:\Dokumente und Einstellungen\[NT-Benutzername] \Lokale Einstellungen\Apps\2.0\“ gelöscht werden. Danach kann die ClickOnce-Installation vom neuen Deploy Server/Verzeichnis starten.

Problem mit copstart.exe.manifest

Beim Aufruf der Installation kann unter Umständen eine 404 – „File not found“ - Fehlermeldung kommen.

Es ist folgender MIME-Typ zu definieren (Details siehe Einstellungen IIS):

Technik, MIME - Typ


Einstellungen Dateifreigabe

Für ein Deployment via Share ist nur zu beachten, dass der Benutzer ein Leserecht/Ausführrecht auf dem Share besitzt. Die Ordnerstruktur ist analog zur Ordnerstruktur beim Deployment via IIS. Es muss daher auch ein CreateVersionAndChecksum.exe durchgeführt werden.


Client Installation

Bei der Clientinstalaltion wird ein neuer Startmenüpunkt unter Programme hinzugefügt. Der Client wird bei der Installation grundsätzlich in einen Unterordner des Ordners %HOMEPATH%\AppData\Local\Apps\2.0 installiert.

Client Installation - Internet Explorer

Für die Installation via Internet Explorer muss lediglich der Pfad zur Website aufgerufen werden. Bspw.: http://servername/coplanner/. Anschließend kann die Installation per klick auf installieren gestartet werden:


Hinweis  Es kann vorkommen, dass der Internet Explorer nicht alle Dateien herunterladen kann. In diesem Fall ist in der Log Datei des Webservers eine entsprechende Fehlermeldung:

Copstart.application' konnte nicht gedownloadet werden. Dieses Problem hängt mit den Einstellungen des Lokalen Internet Explorers zusammen: Die Einstellungen dazu finden Sie unter: Extras -> Internetoptionen -> Sicherheit (Lokales Intranet) -> Stufe anpassen -> Benutzerauthentifizierung. Hier muss das Feld „Nach Benutzername und Kennwort fragen“ aktiviert werden.


Client Installation - Dateifreigabe

Für die Erstinstallation muss der Benutzer lediglich die Datei Copstart.application starten.