Exemplarische Vorgehensweise: Manuelles Bereitstellen einer ClickOnce-Anwendung

Aktualisiert: November 2007

Diese exemplarische Vorgehensweise beschreibt die erforderlichen Schritte, um mithilfe der Befehlszeilenversion oder der grafischen Version des Tools zum Generieren und Bearbeiten von Manifesten (Mage) eine vollständige ClickOnce-Bereitstellung zu erstellen.

Wenn Sie nicht regelmäßig mit Visual Studio arbeiten, den Bereitstellungsprozess automatisieren müssen oder erweiterte Bereitstellungsfeatures wie die Bereitstellung vertrauenswürdiger Anwendungen benötigen, sollten Sie zum Erstellen der ClickOnce-Manifeste das Befehlszeilentool Mage.exe verwenden. In der folgenden exemplarischen Vorgehensweise werden alle Schritte erläutert, die erforderlich sind, um entweder mit der Befehlszeilenversion des Tools zum Generieren und Bearbeiten von Manifesten (Mage.exe) oder mit der Windows Forms-Version des Tools (MageUI.exe) eine vollständige ClickOnce-Bereitstellung zu generieren.

Vorbereitungsmaßnahmen

Voraussetzung für diese exemplarische Vorgehensweise ist eine Windows Forms-Anwendung, die bereitgestellt werden kann. Diese Anwendung wird als WindowsFormsApp1 bezeichnet. Sie müssen auch Windows Software Development Kit (SDK) installieren.

Vor dem Erstellen einer Bereitstellung müssen Sie einige Entscheidungen treffen. Am wichtigsten ist die Entscheidung über die Art der Verteilung: über das Web, über eine Dateifreigabe oder per Installation von CD. Weitere Informationen hierzu finden Sie unter Übersicht über die ClickOnce-Bereitstellung.

Danach müssen Sie festlegen, ob die Anwendung auf einer hohen Vertrauensebene ausgeführt werden soll. Wie unter Überblick über die Bereitstellung vertrauenswürdiger Anwendungen erläutert, werden ClickOnce-Anwendungen standardmäßig in einer teilweise vertrauenswürdigen Zone ausgeführt, wobei die genauen Berechtigungen davon abhängen, ob die Anwendungen im Intranet oder über das Internet gehostet werden. Wenn eine Anwendung auf Daten auf einem Clientcomputer zugreifen, mit lokalen Geräten kommunizieren, Windows-API-Funktionen aufrufen oder andere potenziell gefährliche Vorgänge durchführen muss, muss sie eine höhere Vertrauensebene anfordern. Benötigt die Anwendung volle Vertrauenswürdigkeit, z. B. vollen Zugriff auf das System des Benutzers, können Sie die entsprechende Einstellung mit Mage.exe problemlos vornehmen. Wenn Sie einen benutzerdefinierten Berechtigungssatz für die Anwendung definieren möchten, können Sie den Abschnitt mit der Internet- oder Intranetberechtigung aus einem anderen Manifest kopieren, mit einem Text-Editor oder MageUI.exe nach Bedarf bearbeiten und dem Anwendungsmanifest hinzufügen.

Für das Anfordern einer höheren Vertrauensebene in einem ClickOnce-Manifest stehen zwei Methoden zur Verfügung, nämlich die Berechtigungserweiterung und die Bereitstellung vertrauenswürdiger Anwendungen. In beiden Fällen muss die Bereitstellung mit einem Authenticode-Zertifikat signiert sein, das entweder mit dem Tool MakeCert.exe generiert oder von einer Zertifizierungsstelle ausgestellt wurde. Wenn Sie sich für die Bereitstellung vertrauenswürdiger Anwendungen entscheiden, müssen Sie das Zertifikat einmal auf allen Clientcomputern installieren. Weitere Informationen hierzu finden Sie unter Überblick über die Bereitstellung vertrauenswürdiger Anwendungen.

So stellen Sie eine Anwendung mit dem Befehlszeilentool Mage.exe bereit

  1. Öffnen Sie eine Windows SDK-Eingabeaufforderung, und wechseln Sie zu dem Verzeichnis, in dem Sie die ClickOnce-Dateien speichern möchten.

  2. Erstellen Sie ein Verzeichnis, das Sie nach der aktuellen Version der Bereitstellung benennen. Wenn Sie die Anwendung zum ersten Mal bereitstellen, wählen Sie wahrscheinlich den Namen 1.0.0.0.

    Hinweis:

    Die Version der Bereitstellung muss nicht unbedingt mit der Version der Anwendungsdateien identisch sein.

  3. Erstellen Sie von diesem Ordner ein Unterverzeichnis mit dem Namen bin, und legen Sie alle Anwendungsdateien, d. h. ausführbare Dateien, Assemblys, Ressourcen und Datendateien, darin ab.

  4. Generieren Sie das Anwendungsmanifest mit einem Aufruf von Mage.exe:

    mage -New Application -ToFile 1.0.0.0\WindowsFormsApp1.exe.manifest -Name "Windows Forms App 1" -Version 1.0.0.0 -FromDirectory 1.0.0.0\bin
    
  5. Signieren Sie das Anwendungsmanifest mit dem digitalen Zertifikat:

    mage -Sign WindowsFormsApp1.exe.manifest -CertFile mycert.pfx
    
  6. Generieren Sie das Bereitstellungsmanifest mit einem Aufruf von Mage.exe. Mage.exe markiert die ClickOnce-Bereitstellung standardmäßig als installierte Anwendung, sodass sie sowohl online als auch offline ausgeführt werden kann. Wenn die Anwendung nur verfügbar sein soll, während der Benutzer online ist, verwenden Sie das -i-Flag mit dem Wert f. Bei Verwendung der Standardeinstellung, bei der Benutzer die Anwendung von einer Website oder Dateifreigabe installieren, muss der Wert des -providerUrl-Flags auf den Speicherort des Anwendungsmanifests auf dem Webserver bzw. der Freigabe verweisen.

    mage -New Deployment -ToFile WindowsFormsApp1.application -Name "Windows Forms App 1" -Version 1.0.0.0 -AppManifest 1.0.0.0\WindowsFormsApp1.manifest -providerUrl http://www.adatum.com/WindowsFormsApp1/WindowsFormsApp1.application
    
  7. Signieren Sie das Bereitstellungsmanifest mit dem Zertifikat:

    mage -Sign WindowsFormsApp1.application -CertFile mycert.pfx
    
  8. Kopieren Sie alle Dateien im aktuellen Verzeichnis, einschließlich des Versionsordners und des Ordners \bin, an das Bereitstellungsziel. Dabei kann es sich um einen Ordner auf einer Website oder FTP-Site, eine Dateifreigabe oder eine CD handeln.

  9. Geben Sie den Benutzern den URL oder UNC-Pfad für die Anwendungsinstallation an, oder stellen Sie das physische Medium bereit. Wenn Sie einen URL oder UNC-Pfad angeben, müssen Sie den Benutzern den vollständigen Pfad zum Bereitstellungsmanifest mitteilen. Wenn WindowsFormsApp1 z. B. unter http://webserver01/ im Verzeichnis WindowsFormsApp1 bereitgestellt wird, lautet der vollständige URL-Pfad http://webserver01/WindowsFormsApp1/WindowsFormsApp1.deploy.

Bereitstellen der Anwendung mit dem grafischen Tool MageUI.exe

  1. Öffnen Sie eine Windows SDK-Eingabeaufforderung, und navigieren Sie zu dem Verzeichnis, in dem Sie die ClickOnce-Dateien speichern möchten.

  2. Erstellen Sie ein Unterverzeichnis mit dem Namen bin, und legen Sie in diesem alle Anwendungsdateien, d. h. ausführbare Dateien, Assemblys, Ressourcen und Datendateien, ab.

  3. Erstellen Sie ein Unterverzeichnis, das Sie entsprechend der aktuellen Version der Bereitstellung benennen. Wenn Sie die Anwendung zum ersten Mal bereitstellen, wählen Sie wahrscheinlich den Namen 1.0.0.0.

    Hinweis:

    Die Version der Bereitstellung muss nicht unbedingt mit der Version der Anwendungsdateien identisch sein.

  4. Verschieben Sie das Verzeichnis \bin in das in Schritt 2 erstellte Verzeichnis, und starten Sie dann das grafische Tool:

    MageUI.exe
    
  5. Erstellen Sie ein neues Anwendungsmanifest, indem Sie im Menü Datei die Optionen Neu und Anwendungsmanifest auswählen.

  6. Geben Sie auf der standardmäßig angezeigten Registerkarte Name den Namen und die Versionsnummer dieser Bereitstellung ein.

  7. Wählen Sie die Registerkarte Dateien aus, und klicken Sie auf die Schaltfläche Durchsuchen... neben dem Textfeld Anwendungsverzeichnis.

  8. Wählen Sie im Dialogfeld für die Ordnerauswahl das in Schritt 2 erstellte Verzeichnis mit den Anwendungsdateien aus, und klicken Sie auf OK.

  9. Klicken Sie auf die Schaltfläche Auffüllen, um alle Anwendungsdateien zur Dateiliste hinzuzufügen. Wenn die Anwendung mehrere ausführbare Dateien enthält, markieren Sie die zentrale ausführbare Datei für diese Bereitstellung als Startanwendung. Wählen Sie dazu in der Dropdownliste Dateityp die Option Einstiegspunkt aus. (Wenn die Anwendung nur eine ausführbare Datei enthält, wird diese automatisch markiert.)

  10. Wählen Sie die Registerkarte Erforderliche Berechtigungen aus, und wählen Sie dann die Vertrauensebene aus, die die Anwendung anfordern muss. Die Standardeinstellung lautet FullTrust. Diese ist für die meisten Anwendungen geeignet.

  11. Wählen Sie im Menü Datei die Option Speichern aus, und speichern Sie das Anwendungsmanifest. Beim Speichern werden Sie aufgefordert, das Anwendungsmanifest zu signieren.

  12. Wenn ein Zertifikat als Datei im Dateisystem gespeichert ist, verwenden Sie die Option Als Zertifikatsdatei signieren aus, und wählen Sie das Zertifikat mithilfe der Schaltfläche ... aus dem Dateisystem aus.

    - oder -

    Liegt das Zertifikat in einem Zertifikatspeicher vor, auf den Sie von Ihrem Computer aus zugreifen können, wählen Sie die Option Mit gespeichertem Zertifikat signieren aus, und wählen Sie dann das Zertifikat aus der Liste aus.

  13. Wählen Sie im Menü Datei nacheinander die Optionen Neu und Bereitstellungsmanifest aus, um das Bereitstellungsmanifest zu erstellen. Geben Sie dann auf der Registerkarte Name einen Namen und eine Versionsnummer an (in diesem Beispiel 1.0.0.0).

  14. Wählen Sie die Registerkarte Beschreibung aus, und geben Sie Werte für Herausgeber und Produkt an. (Produkt ist der Name der Anwendung im Startmenü von Windows, wenn Sie die Anwendung lokal installieren.)

  15. Wechseln Sie zur Registerkarte Aktualisierungsoptionen, und geben Sie an, wie oft diese Anwendung aktualisiert werden soll. Wenn die Anwendung die API für die ClickOnce-Bereitstellung verwendet, um selbst nach Updates zu suchen, deaktivieren Sie das Kontrollkästchen Die Anwendung soll nach Updates suchen.

  16. Wechseln Sie zur Registerkarte Anwendungsverweis. Sie können alle Werte auf dieser Registerkarte automatisch einfügen, indem Sie auf die Schaltfläche Manifest auswählen klicken und das zuvor erstellte Anwendungsmanifest auswählen.

  17. Wählen Sie Speichern aus, und speichern Sie das Bereitstellungsmanifest auf dem Datenträger. Beim Speichern werden Sie aufgefordert, das Bereitstellungsmanifest zu signieren.

  18. Wenn ein Zertifikat als Datei im Dateisystem gespeichert ist, verwenden Sie die Option Als Zertifikatsdatei signieren aus, und wählen Sie das Zertifikat mithilfe der Schaltfläche ... aus dem Dateisystem aus.

    - oder -

    Liegt das Zertifikat in einem Zertifikatspeicher vor, auf den Sie von Ihrem Computer aus zugreifen können, wählen Sie die Option Mit gespeichertem Zertifikat signieren aus, und wählen Sie dann das Zertifikat aus der Liste aus.

  19. Kopieren Sie alle Dateien im aktuellen Verzeichnis, einschließlich des Versionsordners und des Ordners \bin, an das Bereitstellungsziel. Dabei kann es sich um einen Ordner auf einer Website oder FTP-Site, eine Dateifreigabe oder eine CD handeln.

  20. Geben Sie den Benutzern den URL oder UNC-Pfad für die Anwendungsinstallation an, oder stellen Sie das physische Medium bereit. Wenn Sie einen URL oder UNC-Pfad angeben, müssen Sie den Benutzern den vollständigen Pfad zum Bereitstellungsmanifest mitteilen. Wenn WindowsFormsApp1 z. B. unter http://webserver01/ im Verzeichnis WindowsFormsApp1 bereitgestellt wird, lautet der vollständige URL-Pfad http://webserver01/WindowsFormsApp1/WindowsFormsApp1.deploy.

Nächste Schritte

Um eine neue Version der Anwendung bereitzustellen, müssen Sie ein neues Verzeichnis erstellen, dessen Name der neuen Version entspricht, z. B. 1.1.0.0, und die neuen Anwendungsdateien in den Ordner \bin in diesem neuen Verzeichnis verschieben. Generieren Sie dann ein neues Anwendungsmanifest, speichern Sie es im neuen Verzeichnis, und lassen Sie es vom Herausgeber signieren. Sobald Sie das signierte Manifest zurückerhalten, können Sie mit Mage.exe das Bereitstellungsmanifest aktualisieren und in diesem auf das neue Anwendungsmanifest verweisen:

mage -Update WindowsFormsApp1.application -Version 1.1.0.0 -AppManifest 1.1.0.0\WindowsFormsApp1.exe.manifest

In MageUI.exe können Sie denselben Vorgang durchführen, indem Sie das Bereitstellungsmanifest öffnen, die Registerkarte Anwendungsverweis auswählen und erneut auf die Schaltfläche Manifest auswählen klicken.

Nachdem Sie den Verweis auf das Anwendungsmanifest aktualisiert haben, müssen Sie das Bereitstellungsmanifest erneut signieren, da die digitale Signatur ungültig wird, sobald Sie das Manifest ändern.

Siehe auch

Konzepte

Übersicht über die ClickOnce-Bereitstellung

Referenz

Tool zum Generieren und Bearbeiten von Manifesten (Mage.exe)

Tool zum Generieren und Bearbeiten von Manifesten, grafischer Client (MageUI.exe)

ClickOnce-Bereitstellungsmanifest

ClickOnce-Anwendungsmanifest