Bereitstellen von ClickOnce-Anwendungen ohne erneutes Signieren

Aktualisiert: November 2007

In diesem Thema wird ein neues Feature von ClickOnce erläutert, das in .NET Framework, Version 3.5, eingeführt wird. Dieses Feature ermöglicht die Bereitstellung von ClickOnce-Anwendungen von mehreren Netzwerkspeicherorten aus, ohne dass die ClickOnce-Manifeste neu signiert oder geändert werden müssen.

Hinweis:

Das erneute Signieren ist immer noch die bevorzugte Methode zum Bereitstellen neuer Versionen von Anwendungen. Verwenden Sie nach Möglichkeit diese Methode. Weitere Informationen finden Sie unter Tool zum Generieren und Bearbeiten von Manifesten (Mage.exe).

Drittanbieterentwickler und ISVs können dieses Feature übernehmen und ihren Kunden damit das Aktualisieren von Anwendungen bedeutend erleichtern. Dieses Feature kann in den folgenden Situationen verwendet werden:

  • Beim Aktualisieren von Anwendungen, jedoch nicht bei der Erstinstallation von Anwendungen.

  • Wenn nur eine Konfiguration einer Anwendung auf einem Computer vorliegt. Sie können dieses Feature nicht verwenden, wenn die Konfiguration einer Anwendung z. B. auf zwei verschiedene Datenbanken verweist.

Ausschließen von deploymentProvider aus Bereitstellungsmanifesten

In .NET Framework 2.0 und .NET Framework 3.0 muss jede ClickOnce-Anwendung, die für Offlineverfügbarkeit auf dem System installiert wird, in ihrem Bereitstellungsmanifest einen deploymentProvider angeben. Der deploymentProvider wird oft als Aktualisierungspfad bezeichnet. Hier sucht ClickOnce nach Anwendungsaktualisierungen. Diese Anforderung sowie die Tatsache, dass Anwendungsherausgeber ihre Bereitstellungen signieren müssen, erschweren Unternehmen das Aktualisieren von ClickOnce-Anwendungen, die sie von Herstellern oder Drittanbietern erhalten haben. Hierdurch wird auch die Bereitstellung einer Anwendung von mehreren Speicherorten in demselben Netzwerk aus erschwert.

Durch die an ClickOnce in .NET Framework 3.5 vorgenommenen Änderungen kann ein Drittanbieter einem Unternehmen nun eine ClickOnce-Anwendung zur Verfügung stellen, und das Unternehmen kann die Anwendung dann auf seinem Netzwerk bereitstellen.

Damit dieses Feature eingesetzt werden kann, müssen Entwickler von ClickOnce-Anwendungen den deploymentProvider aus ihren Bereitstellungsmanifesten ausschließen. Bei der Erstellung von Bereitstellungsmanifesten mit Mage.exe muss das -providerUrl-Argument ausgeschlossen werden. Bei der Generierung von Bereitstellungsmanifesten mit MageUI.exe muss das Textfeld Startspeicherort auf der Registerkarte Anwendungsmanifest leer gelassen werden.

deploymentProvider und Anwendungsupdates

Ab .NET Framework 3.5 müssen Sie zum Bereitstellen einer ClickOnce-Anwendung für die Online- und Offlineverwendung keinen deploymentProvider mehr im Bereitstellungsmanifest angeben. Hiermit wird unterstützt, dass Sie die Bereitstellung selbst verpacken und signieren, aber anderen Unternehmen erlauben, die Anwendung über ihre Netzwerke bereitzustellen.

Es ist wichtig zu wissen, dass bei Anwendungen ohne deploymentProvider der Installationsspeicherort während einer Aktualisierung nicht geändert werden kann, es sei denn, die Aktualisierung enthält wieder einen deploymentProvider-Tag.

Nachstehend wird dieser Punkt anhand von zwei Beispielen erläutert. Im ersten Beispiel veröffentlichen Sie eine ClickOnce-Anwendung, die keinen deploymentProvider-Tag enthält. Benutzer können die Anwendung von http://www.adatum.com/MyApplication/ aus installieren. Wenn Sie die nächste Aktualisierung für die Anwendung von http://subdomain.adatum.com/MyApplication/ aus veröffentlichen möchten, gibt es keine Möglichkeit, dies in dem unter http://www.adatum.com/MyApplication/ gespeicherten Bereitstellungsmanifest anzugeben. Sie haben folgende Möglichkeiten:

Im zweiten Beispiel veröffentlichen Sie eine ClickOnce-Anwendung, in der ein deploymentProvider angegeben ist. Sie entscheiden sich im Nachhinein, ihn zu entfernen. Nachdem die neue Version ohne deploymentProvider von Kunden heruntergeladen wurde, können Sie den für Aktualisierungen verwendeten Pfad nicht umleiten. Dazu müssen Sie erst eine Anwendungsversion veröffentlichen, in der der deploymentProvider wiederhergestellt ist. Wie beim ersten Beispiel muss deploymentProvider zunächst auf den aktuellen Aktualisierungspfad und nicht auf den neuen Pfad verweisen. Wenn Sie in diesem Fall versuchen, einen deploymentProvider einzufügen, der sich auf http://subdomain.adatum.com/MyApplication/ bezieht, tritt bei der nächsten Aktualisierung ein Fehler auf.

Erstellen einer Bereitstellung

Schrittweise Anweisungen zum Erstellen von Bereitstellungen, die von verschiedenen Netzwerkstandorten aus bereitgestellt werden können, finden Sie unter Exemplarische Vorgehensweise: Manuelles Bereitstellen einer ClickOnce-Anwendung, die kein erneutes Signieren erfordert und Brandinginformationen beibehält.

Siehe auch

Referenz

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

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