Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort zur 5. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Weitere .NET-Datentypen
7 Weitere Möglichkeiten von C#
8 Auflistungsklassen (Collections)
9 Fehlerbehandlung und Debugging
10 LINQ to Objects
11 Multithreading und die Task Parallel Library (TPL)
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 Einige wichtige .NET-Klassen
15 Projektmanagement und Visual Studio 2010
16 XML
17 WPF – Die Grundlagen
18 WPF-Containerelemente
19 WPF-Steuerelemente
20 Konzepte der WPF
21 Datenbindung
22 2D-Grafik
23 ADO.NET – verbindungsorientierte Objekte
24 ADO.NET – Das Command-Objekt
25 ADO.NET – Der SqlDataAdapter
26 ADO.NET – Daten im lokalen Speicher
27 ADO.NET – Aktualisieren der Datenbank
28 Stark typisierte DataSets
29 LINQ to SQL
30 Weitergabe von Anwendungen
Stichwort

Buch bestellen
Ihre Meinung?

Spacer
<< zurück
Visual C# 2010 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2010

Visual C# 2010
geb., mit DVD
1295 S., 49,90 Euro
Rheinwerk Computing
ISBN 978-3-8362-1552-7
Pfeil 30 Weitergabe von Anwendungen
Pfeil 30.1 Weitergabe mit MS-Installer
Pfeil 30.1.1 Weitergabeprojekte
Pfeil 30.1.2 Der Windows Installer
Pfeil 30.1.3 Weitergabeprojekte mit dem Setup-Assistenten
Pfeil 30.1.4 Editoren eines Weitergabeprojekts
Pfeil 30.1.5 Der Dateisystem-Editor
Pfeil 30.1.6 Der Registrierungs-Editor
Pfeil 30.1.7 Der Dateityp-Editor
Pfeil 30.1.8 Der Benutzeroberflächen-Editor
Pfeil 30.1.9 Editor für benutzerdefinierte Aktionen
Pfeil 30.1.10 Editor für Startbedingungen
Pfeil 30.2 ClickOnce-Verteilung
Pfeil 30.2.1 Allgemeine Beschreibung
Pfeil 30.2.2 Erstellen einer ClickOnce-Anwendung
Pfeil 30.2.3 Installation einer ClickOnce-Anwendung


Galileo Computing - Zum Seitenanfang

30.2 ClickOnce-Verteilung Zur nächsten ÜberschriftZur vorigen Überschrift


Galileo Computing - Zum Seitenanfang

30.2.1 Allgemeine Beschreibung Zur nächsten ÜberschriftZur vorigen Überschrift

Visual Studio 2010 bietet neben dem auf einer MSI-Datei basierenden Installationsassistenten eine zweite Möglichkeit, eine Windows-Anwendung zu verteilen. Diese wird als ClickOnce bezeichnet. Ganz neu ist die Idee, die hinter ClickOnce steckt, nicht, sie ist aber im Vergleich zu ähnlichen Verfahren deutlich verbessert worden.

Doch was steckt hinter ClickOnce? Während eine herkömmliche Windows-Anwendung auf dem lokalen Rechner installiert wird, kann eine mit ClickOnce veröffentlichte Anwendung auf einem Server zur Verfügung gestellt werden. Dabei kann es sich um einen Webserver oder um eine Netzwerkdateifreigabe handeln. Zudem ist die Veröffentlichung auf einem Datenträger möglich.

Wird eine Anwendung mit ClickOnce auf einem Webserver veröffentlicht, wird dem Benutzer innerhalb einer Webseite nur ein Link auf die Programmdatei zur Verfügung gestellt. Öffnet der Anwender den Link, werden die Programmdateien auf die lokale Maschine heruntergeladen und dort ausgeführt. Dabei werden die heruntergeladenen Dateien nicht etwa in einem Unterordner von Programme abgelegt, sondern in einem verschlüsselten Pfad im Benutzerprofil des aktuell angemeldeten Anwenders (Dokumente und Einstellungen\<Benutzer>\Lokale Einstellungen\Apps). Aus Sicherheitsgründen nimmt eine mit ClickOnce verteilte Anwendung weder Einträge in der Registrierungsdatenbank noch unter Desktop vor.

Ein besonderes Merkmal ist auch die Art und Weise der Aktualisierung. Bei der Bereitstellung mit der Installationsroutine muss der Benutzer bei jeder Aktualisierung einer Anwendung die gesamte Anwendung neu installieren. Bei der ClickOnce-Bereitstellung werden Aktualisierungen der Anwendung automatisch zur Verfügung gestellt. Der Client ist dabei selbst in der Lage festzustellen, ob eine neue Version vorliegt. Bei der Aktualisierung werden nur die Teile der Anwendung heruntergeladen, die geändert wurden. Anschließend wird die vollständige aktualisierte Anwendung von einem neuen parallelen Ordner aus neu installiert.

ClickOnce bietet die Möglichkeit, Anwendungen so einzurichten, dass der Benutzer sowohl online als auch offline mit der Anwendung arbeiten kann. Im Offline-Modus wird ein Programmpunkt im Startmenü angelegt, der die Anwendung startet. Diesen Eintrag gibt es nicht, wenn der Benutzer nur online mit der Anwendung arbeiten kann. Er kann die Anwendung nur starten, wenn er auf den erwähnten Link klickt.

Der Kern der neuen Architektur beruht auf zwei XML-Manifestdateien:

  • dem Anwendungsmanifest
  • dem Bereitstellungsmanifest

Das Anwendungsmanifest beschreibt die Anwendung einschließlich der Assemblys und der Dateien, aus denen die Anwendung besteht, sowie des Speicherorts, an dem Updates verfügbar sein werden. Das Bereitstellungsmanifest beschreibt, wie die Anwendung bereitgestellt wird, einschließlich des Speicherorts des Anwendungsmanifests sowie der Version der Anwendung, die auf den Clients ausgeführt wird. Beide Manifeste werden automatisch vom Visual Studio 2010 erzeugt.

Das Ziel von ClickOnce ist, die Verteilung von Anwendungen zentral zu verwalten und zu vereinfachen. Aber es gibt auch Einschränkungen, die schon in der Planungsphase zu berücksichtigen sind. Während der Einrichtung einer ClickOnce-Anwendung sind keine Operationen erlaubt, die administrative Rechte voraussetzen. Dazu gehören der Zugriff auf das Dateisystem und der Zugriff auf die Registrierungsdatenbank. Genauso wenig können Assemblys in den Global Assembly Cache (GAC) eingetragen oder Windows-Dienste eingerichtet werden.


Galileo Computing - Zum Seitenanfang

30.2.2 Erstellen einer ClickOnce-Anwendung Zur nächsten ÜberschriftZur vorigen Überschrift

So viel zur Theorie. Nun wollen wir uns das Ganze natürlich auch in der praktischen Entwicklung ansehen. Legen Sie ein neues Windows-Projekt an. Um ClickOnce zu verstehen, müssen Sie überhaupt keinen Code schreiben, die »nackte« WinForm reicht vollkommen aus.

Alle Optionen, die ClickOnce anbietet, können Sie innerhalb eines Dialogs festlegen. Öffnen Sie dazu das Eigenschaftsfenster des Projekts, und aktivieren Sie die Lasche Veröffentlichen. In Abbildung 30.21 sehen Sie die Registerkarte. Alle Einstellungen, die Sie hier vornehmen, werden gespeichert und stehen beim Veröffentlichen auf dem Server zur Verfügung.

Abbildung 30.21 ClickOnce-Optionen einer Windows-Anwendung

Entscheidend ist zunächst einmal der Ort, an dem die ClickOnce-Komponente abgelegt wird. Als Ort der Veröffentlichung ist per Vorgabe ein virtuelles Verzeichnis auf dem lokalen Webserver eingetragen. Über die Schaltfläche gelangen Sie aber zu einem Dialog, der Ihnen alle Möglichkeiten offen lässt. Sie können einen der folgenden Orte angeben, an den die Anwendung kopiert werden soll:

  • einen Dateipfad
  • auf den lokalen Webserver (IIS)
  • auf einen FTP-Server
  • auf eine entfernte Website, die mit den FrontPage-Servererweiterungen konfiguriert ist

Abbildung 30.22 Dialog zum Einstellen des Orts der Veröffentlichung

Als Installationsmodi müssen Sie sich zwischen online und offline entscheiden. Fällt die Wahl auf den Offline-Modus, werden für die Anwendung ein Startmenüeintrag und ein Eintrag in den Systemeinstellungen unter Software hinzugefügt. Hierüber kann der Anwender später unter Umständen die Anwendung auch wieder deinstallieren.

Beachten Sie, dass Sie im Offline-Modus über die dann aktivierte Schaltfläche Updates… auch das Aktualisieren beeinflussen können. Den Dialog sehen Sie in Abbildung 30.23. Vorgegeben ist, dass die Anwendung nach Updates suchen soll. Wenn Sie sicher sind, dass Ihre Software so gut ist, dass kein Update zu erwarten ist, können Sie diese Option auch deaktivieren. Andernfalls können Sie die Häufigkeit der Update-Prüfung konfigurieren.

Abbildung 30.23 Konfiguration der Update-Suche

Ein Klick auf die Schaltfläche Anwendungsdateien… in der Registerkarte Veröffentlichen (siehe Abbildung 30.21) öffnet den Dialog, den Sie in Abbildung 30.24 sehen. Hier können Sie angeben, welche Dateien auf den Server kopiert werden sollen. Im vorliegenden Fall handelt es sich nur um die Programmdatei. Wäre eine benutzerdefinierte Klassenbibliothek unter Verweise eingebunden, würde die DLL automatisch mit in den Verteilungsprozess einbezogen.

Abbildung 30.24 Die zur Installation notwendigen Dateien

Im Dialog Erforderliche Komponenten… wählen Sie die Komponenten aus, die ebenfalls auf den Server kopiert werden sollen (siehe Abbildung 30.25).

Abbildung 30.25 Bereitstellung zusätzlicher Komponenten

Zuletzt können Sie noch unter Optionen… diverse Einstellungen vornehmen, die mehr allgemeiner Natur sind.

Nachdem Sie die Konfiguration fertiggestellt haben, steht der Veröffentlichung nichts mehr im Wege. Ich gehe im Weiteren davon aus, dass die Anwendung auf den lokalen Webserver kopiert wird und die Offline-Ausführung der ClickOnce-Anwendung ausgewählt worden ist. Auf dem Webserver wird ein virtuelles Verzeichnis angelegt, das standardmäßig namentlich identisch mit dem Projektbezeichner ist. Das Verzeichnis enthält neben dem Bereitstellungsmanifest (das ist die Datei mit der Erweiterung .APPLICATION) auch eine setup.exe-Datei, die die Installation startet, sowie die Datei publish.htm, die der Anwender aufruft, um die Anwendung zu installieren.

Zudem wird der Root der Anwendung ein Unterverzeichnis hinzugefügt, dessen Name sich aus dem Bezeichner der Anwendung, ergänzt um die vierstellige Versionsnummer, ergibt. Die Punkte der Versionsnummer sind dabei gegen Unterstriche ausgetauscht worden. Dieses Verzeichnis enthält die tatsächlichen Anwendungsdaten und das Anwendungsmanifest mit der Erweiterung .MANIFEST.


Galileo Computing - Zum Seitenanfang

30.2.3 Installation einer ClickOnce-Anwendung topZur vorigen Überschrift

Nun wollen wir auch noch die Anwendung installieren. Dazu öffnen wir im Internet Explorer die Datei publish.htm. Die Webseite enthält eine Schaltfläche, über die die Anwendung im lokalen Cache eingerichtet wird. Zuvor müssen Sie jedoch die Installation der Anwendung bestätigen, da der Herausgeber als nicht vertrauenswürdig eingestuft wird – obwohl Sie in diesem Fall selbst der Herausgeber sind. Anschließend wird das Programm gestartet.

Abbildung 30.26 Ansicht der Seite »publish.htm«

Da die Anwendung für den Offline-Modus eingerichtet worden ist, können Sie diese anschließend über das Startmenü starten. Dazu ist keine Verbindung zum Webserver notwendig. Sie können das selbst testen, indem Sie im Internetdienste-Manager den Webserver anhalten. Es wird zwar versucht, Kontakt zum Webserver aufzunehmen, aber das Starten der Laufzeitumgebung ist nicht davon abhängig. Hätten Sie sich für den Online-Modus bei der Kompilierung der Anwendung entschieden, wäre ein Aufruf von publish.htm notwendig gewesen. Diese Datei steht aber nur dann zur Verfügung, wenn der Webserver seine Dienste ausführt.

Wie verhält sich nun die Anwendung, wenn sie in irgendeiner Weise verändert und erneut veröffentlicht wird? Sie können das sehr einfach testen, indem Sie der Form eine Schaltfläche hinzufügen oder einfach nur die Hintergrundfarbe ändern. Veröffentlichen Sie die Anwendung erneut, wird automatisch die Versionsnummer erhöht – falls Sie auf der Registerkarte Veröffentlichen des Projekteigenschaftsfensters keine andere Vorgabe getroffen haben. Die erste Versionsnummer lautete 1.0.0.0, die neue lautet 1.0.0.1. Auf dem Webserver wird ein zweites Unterverzeichnis für die neue Version angelegt, und im Bereitstellungsmanifest wird die Umleitung darauf eingetragen.

Wenn Sie die Anwendung über das Startmenü aufrufen, sucht der Client nach eventuellen Updates. Ist der Webserver in Betrieb, wird die neue Version erkannt, geladen und ausgeführt. Der Anwender braucht in diesem Fall in keiner Weise einzugreifen oder selbst für die Neuinstallation der Anwendung zu sorgen. Der ClickOnce-Prozess übernimmt das vollkommen automatisch.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen. >> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2010

Visual C# 2010
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: C/C++






 C/C++


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2010
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


Nutzungsbestimmungen | Datenschutz | Impressum

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de

Cookie-Einstellungen ändern