Freigeben über


Probleme mit der Server- und Clientkonfiguration in ClickOnce-Bereitstellungen

Aktualisiert: November 2007

Wenn Sie Internetinformationsdienste (IIS) unter Windows Server 2003 verwenden und die Bereitstellung einen Dateityp enthält, der von Windows nicht erkannt wird, z. B. eine Microsoft Word-Datei, wird diese Datei von IIS nicht übertragen, und die Bereitstellung schlägt fehl.

Außerdem enthalten bestimmte Webserver und manche Webanwendungssoftware, z. B. ASP.NET, eine Liste von Dateien und Dateitypen, die nicht heruntergeladen werden können. Beispielsweise verhindert ASP.NET den Download aller Web.config-Dateien. Diese Dateien enthalten möglicherweise vertrauliche Informationen z. B. Benutzernamen und Kennwörter.

Beim Download von ClickOnce-Kerndateien, z. B. Manifeste und Assemblys, ist diese Einschränkung i. d. R. unproblematisch, allerdings kann durch diese Einschränkung der Download von Datendateien verhindert werden, die Bestandteil der ClickOnce-Anwendung sind. In ASP.NET können Sie den Fehler beheben, indem Sie den Handler, der den Download dieser Dateien verhindert, aus dem IIS-Konfigurations-Manager entfernen. Weitere Informationen finden Sie in der IIS-Serverdokumentation.

Einige Webserver blockieren möglicherweise Dateien mit Erweiterungen wie .dll, .config und .mdf. Windows-basierte Anwendungen enthalten in der Regel Dateien mit diesen Erweiterungen. Wenn ein Benutzer versucht, eine ClickOnce-Anwendung auszuführen, die auf eine blockierte Datei auf einem Webserver zugreift, führt dies zu einer Fehlermeldung. Anstatt die Blockierung aller Dateierweiterungen aufzuheben, veröffentlicht ClickOnce standardmäßig jede Anwendungsdatei mit der Dateierweiterung ".deploy". Deshalb muss der Administrator den Webserver nur so konfigurieren, dass die Blockierung der folgenden drei Dateierweiterungen aufgehoben wird:

  • APPLICATION

  • MANIFEST

  • DEPLOY

Sie können diese Option aber deaktivieren, indem Sie die Auswahl der Option Dateierweiterung ".deploy" verwenden im Dialogfeld "Veröffentlichungsoptionen" aufheben. In diesem Fall müssen Sie den Webserver so konfigurieren, dass die Blockierung aller von der Anwendung verwendeten Dateierweiterungen aufgehoben wird.

Dies gilt z. B. für die Dateierweiterungen MANIFEST, APPLICATION und DEPLOY, wenn Sie IIS verwenden und .NET Framework nicht installiert ist, oder wenn Sie einen anderen Webserver verwenden (z. B. Apache).

ClickOnce und SSL (Secure Sockets Layer)

ClickOnce-Anwendungen werden über SSL problemlos ausgeführt, es sei denn, in Internet Explorer wird eine Eingabeaufforderung zum SSL-Zertifikat angezeigt. Die Eingabeaufforderung kann angezeigt werden, wenn das Zertifikat einen Fehler aufweist, z. B. wenn die Sitenamen nicht übereinstimmen oder das Zertifikat abgelaufen ist. Damit ClickOnce über eine SSL-Verbindung ausgeführt werden kann, stellen Sie sicher, dass das Zertifikat aktuell ist und dass die Zertifikatdaten mit den Sitedaten übereinstimmen.

ClickOnce und Proxyauthentifizierung

ClickOnce unterstützt Windows Integrated Proxyauthentifizierung. Es sind keine bestimmten machine.config-Direktiven erforderlich. ClickOnce unterstützt jedoch keine anderen Authentifizierungsprotokolle wie Basic oder Digest.

Weitere Informationen finden Sie unter <defaultProxy>-Element (Netzwerkeinstellungen).

ClickOnce und Webbrowserkompatibilität

Derzeit werden ClickOnce-Installationen nur gestartet, wenn die URL zum Bereitstellungsmanifest mit Internet Explorer geöffnet wird. Eine Bereitstellung, deren URL von einer anderen Anwendung wie beispielsweise Microsoft Office Outlook gestartet wird, startet nur erfolgreich, wenn Internet Explorer als Standardwebbrowser eingestellt ist.

Hinweis:

Mozilla Firefox wird zwar ebenfalls unterstützt, jedoch darf das Feld für den Bereitstellungsanbieter nicht leer sein, und das ClickOnce-Plug-In für Firefox muss installiert sein.

Aktivieren von ClickOnce-Anwendungen über Browserskripterstellung

Wenn Sie eine benutzerdefinierte Webseite entwickelt haben, die eine ClickOnce-Anwendung mithilfe von Active Scripting startet, stellen Sie möglicherweise fest, dass die Anwendung auf einigen Computern nicht gestartet werden kann. Internet Explorer enthält die Einstellung Automatische Eingabeaufforderung für Dateidownloads, die dieses Verhalten beeinflusst. Diese Einstellung ist auf der Registerkarte Sicherheit im Menü Optionen, das dieses Verhalten beeinflusst, verfügbar. Sie wird als Automatische Eingabeaufforderung für Dateidownloads bezeichnet und wird unter der Kategorie Downloads aufgeführt. Die Eigenschaft ist für Intranetwebseiten standardmäßig auf Aktivieren und für Internetwebseiten standardmäßig auf Deaktivieren festgelegt. Wenn für diese Einstellung Deaktivieren festgelegt ist, wird jeder Versuch blockiert, eine ClickOnce-Anwendung programmgesteuert zu aktivieren (indem beispielsweise ihre URL der document.location-Eigenschaft zugewiesen wird). Unter diesen Umständen können Benutzer Anwendungen nur über einen selbst eingeleiteten Download starten, beispielsweise durch Klicken auf einen Link, für den die Anwendungs-URL festgelegt ist.

Weitere Probleme mit der Serverkonfiguration

Administratorberechtigungen erforderlich

Sie müssen über Administratorberechtigungen für den Zielserver verfügen, wenn Sie mit HTTP veröffentlichen. Für IIS ist diese Berechtigungsebene erforderlich. Wenn Sie nicht mit HTTP veröffentlichen, ist lediglich eine Schreibberechtigung für den Zielpfad erforderlich.

Probleme mit der Serverauthentifizierung

Beim Veröffentlichen auf einem Remoteserver mit deaktivierter Option "Anonyme Anmeldung" erhalten Sie die folgende Warnung:

"The files could not be downloaded from http://<remoteserver>/<myapplication>/.  The remote server returned an error: (401) Unauthorized."
Hinweis:

Sie können NTLM-Authentifizierung (NT-Abfrage/Rückmeldung) verwenden, wenn auf der Site Anmeldeinformationen oder andere Informationen als die Standardanmeldeinformationen angegeben werden müssen. Klicken Sie im Sicherheitsdialogfeld bei entsprechender Aufforderung auf OK, wenn Sie die angegebenen Anmeldeinformationen für zukünftige Sitzungen speichern möchten. Diese Problemumgehung ist für die Standardauthentifizierung jedoch nicht möglich.

Verwenden von Webservern von Drittanbietern

Bei der Bereitstellung einer ClickOnce-Anwendung auf einem anderen Webserver als einem IIS-Server können Probleme auftreten, wenn der Server den falschen Inhaltstyp für wichtige ClickOnce-Dateien, z. B. Bereitstellungsmanifest und Anwendungsmanifest, zurückgibt. Um dieses Problem zu beheben, informieren Sie sich in der Hilfedokumentation des Webservers darüber, wie dem Server neue Inhaltstypen hinzugefügt werden, und stellen Sie sicher, dass die in der folgenden Tabelle aufgeführten Dateinamenerweiterungen den entsprechenden Inhaltstypen zugeordnet sind.

Dateinamenerweiterung

Inhaltstyp

.application

application/x-ms-application

.manifest

application/x-ms-manifest

.deploy

application/octet-stream

FTP-Protokoll wird nicht zum Installieren von Anwendungen unterstützt

ClickOnce unterstützt die Installation von Anwendungen über Webserver oder Dateiserver mit HTTP 1.1. FTP, das File Transfer Protocol, wird nicht zum Installieren von Anwendungen unterstützt. Sie können FTP nur zum Veröffentlichen von Anwendungen verwenden. In der folgenden Tabelle werden die Unterschiede zusammengefasst:

URL-Typ

Beschreibung

ftp://

Mit diesem Protokoll können Sie eine ClickOnce-Anwendung veröffentlichen.

http://

Mit diesem Protokoll können Sie eine ClickOnce-Anwendung installieren.

https://

Mit diesem Protokoll können Sie eine ClickOnce-Anwendung installieren.

file://

Mit diesem Protokoll können Sie eine ClickOnce-Anwendung installieren.

Windows XP SP2: Windows-Firewall

Die Windows-Firewall ist in Windows XP SP2 standardmäßig aktiviert. Wenn Sie Anwendungen unter Windows XP entwickeln, können Sie ClickOnce-Anwendungen trotzdem vom lokalen Server, auf dem IIS installiert ist, veröffentlichen und ausführen. Sie können von einem anderen Computer jedoch nur auf den Server zugreifen, auf dem ISS ausgeführt wird, wenn Sie die Windows-Firewall öffnen. Anweisungen zur Verwaltung der Windows-Firewall finden Sie in der Windows-Hilfe.

Windows Server 2003: Aktivieren von FrontPage-Servererweiterungen

Zum Veröffentlichen von Anwendungen auf einem Windows-Webserver mit HTTP sind FrontPage 2002-Servererweiterungen von Microsoft erforderlich.

FrontPage 2002-Servererweiterungen sind nicht standardmäßig mit Windows Server 2003 installiert. Wenn Sie mithilfe von Visual Studio auf einem Windows Server 2003-Webserver veröffentlichen möchten, der HTTP mit FrontPage 2002-Servererweiterungen verwendet, müssen Sie zunächst FrontPage 2002-Servererweiterungen installieren. Sie können die Installation mit dem Verwaltungstool Serververwaltung von Windows Server 2003 ausführen.

Windows Server 2003: Gesperrte Inhaltstypen

Unter Windows Server 2003 werden alle Dateitypen durch IIS gesperrt, mit Ausnahme bestimmter bekannter Inhaltstypen (z. B. HTM, HTML, TXT usw.). Um die Bereitstellung von ClickOnce-Anwendungen mit diesem Server zu ermöglichen, müssen Sie die IIS-Einstellungen ändern, damit Dateien vom Typ APPLICATION, MANIFEST oder andere benutzerdefinierte, von der Anwendung verwendete Dateitypen heruntergeladen werden können.

Wenn Sie die Bereitstellung mit einem IIS-Server durchführen, führen Sie inetmgr.exe aus, und fügen Sie neue Dateitypen für die Standardwebseite hinzu:

  • Für die Erweiterungen APPLICATION und MANIFEST sollte der MIME-Typ "application/x-ms-application" sein. Für andere Dateitypen sollte der MIME-Typ "application/octet-stream" sein.

  • Wenn Sie einen MIME-Typ mit der Erweiterung "*" und dem MIME-Typ "application/octet-stream" erstellen, können Dateien mit nicht blockiertem Dateityp heruntergeladen werden. (Blockierte Dateitypen wie ASPX und ASMX können jedoch nicht heruntergeladen werden.)

Genaue Anweisungen für die Konfiguration von MIME-Typen unter Windows Server 2003 finden Sie im Microsoft Knowledge Base-Artikel KB326965, "IIS 6.0 Does Not Serve Unknown MIME Types" unter https://support.microsoft.com/default.aspx?scid=kb;en-us;326965.

Inhaltstypzuordnungen

Beim Veröffentlichen über HTTP sollte der Inhaltstyp für die APPLICATION-Datei (auch als MIME-Typ bekannt) "application/x-ms-application" sein. Wenn .NET Framework 2.0 auf dem Server installiert ist, wird dies automatisch festgelegt. Wenn das Programm nicht installiert ist, müssen Sie für vroot der ClickOnce-Anwendung (oder den gesamten Server) eine MIME-Typ-Verknüpfung erstellen.

Wenn Sie die Bereitstellung mit einem IIS-Server durchführen, führen Sie inetmgr.exe aus, und fügen Sie den neuen Inhaltstyp "application/x-ms-application" für die Erweiterung .application hinzu.

Probleme mit der HTTP-Komprimierung

ClickOnce unterstützt Downloads mit HTTP-Komprimierung, einer Webservertechnologie, bei der ein Datenstream vor dem Senden des Streams an den Client mithilfe des GZIP-Algorithmus komprimiert wird. Der Client, in diesem Fall ClickOnce, dekomprimiert den Stream vor dem Lesen der Dateien.

Wenn Sie IIS verwenden, können Sie die HTTP-Komprimierung problemlos aktivieren. Die aktivierte HTTP-Komprimierung wirkt sich jedoch nur auf HTML- und Textdateien aus. Um die Komprimierung für Assemblys (Erweiterung .dll), XML-Dateien (.xml), Bereitstellungsmanifeste (.application) und Anwendungsmanifeste (.manifest) zu aktivieren, müssen Sie diese Dateitypen der Liste der von IIS zu komprimierenden Typen hinzufügen. Vor dem Hinzufügen der Dateitypen zur Bereitstellung werden nur Text und HTML-Dateien komprimiert.

Detaillierte Anweisungen zu IIS finden Sie im Artikel "How to Specify Additional Document Types for HTTP Compression" in der MSDN Online Knowledge Base (suchen Sie auf der Seite Hilfe und Support durchsuchen nach "234497").

Siehe auch

Konzepte

Problembehandlung bei ClickOnce-Bereitstellungen

Übersicht über die ClickOnce-Bereitstellung

Auswählen einer Strategie für die ClickOnce-Bereitstellung

Vorbedingungen für die Anwendungsbereitstellung