Sdílet prostřednictvím


Problémy s konfigurací serveru a klienta v nasazeních ClickOnce

Pokud používáte internetovou informační službu (IIS) na Windows Serveru a vaše nasazení obsahuje typ souboru, který Systém Windows nerozpozná, například soubor aplikace Microsoft Word, služba IIS odmítne tento soubor přenést a vaše nasazení nebude úspěšné.

Některé webové servery a software webových aplikací, například ASP.NET, navíc obsahují seznam souborů a typů souborů, které nemůžete stáhnout. Například ASP.NET zabrání stahování všech souborůWeb.config . Tyto soubory můžou obsahovat citlivé informace, jako jsou uživatelská jména a hesla.

I když toto omezení by nemělo způsobovat žádné problémy se stahováním základních souborů ClickOnce, jako jsou manifesty a sestavení, toto omezení vám může zabránit ve stahování datových souborů zahrnutých jako součást aplikace ClickOnce. V ASP.NET můžete tuto chybu vyřešit odebráním obslužné rutiny, která zakazuje stahování těchto souborů ze správce konfigurace služby IIS. Další podrobnosti najdete v dokumentaci k serveru IIS.

Některé webové servery můžou blokovat soubory s příponami, jako jsou .dll, .configa .mdf. Aplikace založené na Windows obvykle obsahují soubory s některými z těchto rozšíření. Pokud se uživatel pokusí spustit aplikaci ClickOnce, která přistupuje k blokovaným souborům na webovém serveru, dojde k chybě. Místo odblokování všech přípon souborů clickOnce publikuje ve výchozím nastavení všechny soubory aplikace s příponou .deploy . Správce proto musí pouze nakonfigurovat webový server tak, aby odblokovali následující tři přípony souborů:

  • .application

  • .manifest

  • .deploy

    Tuto možnost však můžete zakázat zrušením zaškrtnutí možnosti Použít příponu souboru .deploy v dialogovém okně Možnosti publikování, v takovém případě musíte webový server nakonfigurovat tak, aby odblokuje všechna přípony souborů používaná v aplikaci.

Budete muset nakonfigurovat .manifest, .application a .deploy, například pokud používáte službu IIS, ve které jste rozhraní .NET Framework nenainstalovali, nebo pokud používáte jiný webový server (například Apache).

ClickOnce a vrstva zabezpečených soketů (SSL)

Aplikace ClickOnce bude fungovat správně přes PROTOKOL SSL, s výjimkou případů, kdy prohlížeč vyvolá výzvu k certifikátu SSL. Výzva může být vyvolána, když je s certifikátem něco špatně, například když se názvy webů neshodují nebo vypršela platnost certifikátu. Pokud chcete, aby ClickOnce fungovalo přes připojení SSL, ujistěte se, že je certifikát up-to-date a že data certifikátu odpovídají datům lokality.

ClickOnce a ověřování proxy serveru

ClickOnce poskytuje podporu integrovaného ověřování proxy systému Windows počínaje rozhraním .NET Framework 3.5. Nejsou vyžadovány žádné specifické direktivy machine.config. ClickOnce neposkytuje podporu pro jiné ověřovací protokoly, jako je Basic nebo Digest.

Tuto funkci lze také povolit pomocí opravy hotfix pro rozhraní .NET Framework 2.0. Další informace naleznete v tématu OPRAVA: Chybová zpráva při pokusu o instalaci aplikace ClickOnce, kterou jste vytvořili v rozhraní .NET Framework 2.0 na klientský počítač, který je nakonfigurován pro použití proxy serveru: "Vyžaduje se ověřování proxy".

Další informace najdete v elementu <defaultProxy> (nastavení sítě).

Kompatibilita ClickOnce a webového prohlížeče

Instalace ClickOnce se v současné době spustí jenom v případě, že se v prohlížeči otevře adresa URL manifestu nasazení. Nasazení, jehož adresa URL je spuštěna z jiné aplikace, například Microsoft Office Outlook, se úspěšně spustí pouze v případě, že je aplikace Internet Explorer nastavena jako výchozí webový prohlížeč.

Poznámka:

Mozilla Firefox se podporuje, pokud poskytovatel nasazení není prázdný nebo je nainstalované rozšíření Microsoft .NET Framework Assistant. Toto rozšíření je zabalené s rozhraním .NET Framework 3.5 SP1. V případě podpory XBAP se modul plug-in NPWPF aktivuje v případě potřeby.

Aktivace aplikací ClickOnce prostřednictvím skriptování prohlížeče

Pokud jste vyvinuli vlastní webovou stránku, která spouští aplikaci ClickOnce pomocí aktivního skriptování, můžete zjistit, že se aplikace nespustí na některých počítačích. Prohlížeč obsahuje nastavení, jako je automatické zobrazení výzvy ke stažení souborů, které toto chování ovlivňuje. Toto nastavení prohlížeče je obvykle uvedené pod kategorií Stažené soubory a je ve výchozím nastavení povolené. Pokud je toto nastavení zakázané, všechny pokusy o aktivaci aplikace ClickOnce programově (například přiřazením adresy URL vlastnosti document.location ) budou blokovány. Za těchto okolností můžou uživatelé spouštět aplikace pouze prostřednictvím stahování iniciovaného uživatelem, například kliknutím na hypertextový odkaz nastavený na adresu URL aplikace.

Další problémy s konfigurací serveru

Požadovaná oprávnění správce

Pokud publikujete pomocí protokolu HTTP, musíte mít na cílovém serveru oprávnění správce. Služba IIS vyžaduje tuto úroveň oprávnění. Pokud nepublikujete pomocí protokolu HTTP, potřebujete oprávnění k zápisu jenom v cílové cestě.

Problémy s ověřováním serveru

Když publikujete na vzdálený server, který má vypnutý anonymní přístup, zobrazí se následující upozornění:

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

Poznámka:

Ověřování NTLM (NT challenge-response) můžete nastavit tak, aby fungovalo, pokud se na webu zobrazí výzva k zadání přihlašovacích údajů kromě výchozích přihlašovacích údajů, a pokud se zobrazí výzva k uložení zadaných přihlašovacích údajů pro budoucí relace, klikněte v dialogovém okně zabezpečení na tlačítko OK . Toto alternativní řešení ale nebude fungovat pro základní ověřování.

Použití webových serverů třetích stran

Pokud nasazujete aplikaci ClickOnce z jiného webového serveru než iis, může dojít k potížím, pokud server vrací nesprávný typ obsahu pro klíčové soubory ClickOnce, například manifest nasazení a manifest aplikace. Pokud chcete tento problém vyřešit, podívejte se do dokumentace nápovědy k webovému serveru o tom, jak na server přidat nové typy obsahu, a ujistěte se, že jsou na místě všechna mapování přípon názvů souborů uvedená v následující tabulce.

Přípona názvu souboru Typ obsahu
.application application/x-ms-application
.manifest application/x-ms-manifest
.deploy application/octet-stream
.msu application/octet-stream
.msp application/octet-stream

ClickOnce a mapované jednotky

Pokud k publikování aplikace ClickOnce používáte Visual Studio, nemůžete jako umístění instalace zadat mapovanou jednotku. Aplikaci ClickOnce však můžete upravit tak, aby se nainstalovala z mapované jednotky pomocí generátoru manifestu a editoru (Mage.exe a MageUI.exe). Další informace najdete v tématu Mage.exe (generování manifestu a nástroj pro úpravy) a MageUI.exe (generování a úpravy manifestu, grafický klient).

Protokol FTP není podporován pro instalaci aplikací.

ClickOnce podporuje instalaci aplikací z libovolného webového serveru HTTP 1.1 nebo souborového serveru. Ftp, protokol FILE Transfer Protocol, není podporován pro instalaci aplikací. K publikování aplikací můžete použít protokol FTP. Následující tabulka shrnuje tyto rozdíly:

Typ adresy URL Description
ftp:// Aplikaci ClickOnce můžete publikovat pomocí tohoto protokolu.
http:// Aplikaci ClickOnce můžete nainstalovat pomocí tohoto protokolu.
https:// Aplikaci ClickOnce můžete nainstalovat pomocí tohoto protokolu.
soubor:// Aplikaci ClickOnce můžete nainstalovat pomocí tohoto protokolu.

Windows Firewall

Ve výchozím nastavení windows povolí bránu Windows Firewall. Pokud vyvíjíte aplikaci na počítači s nainstalovaným Systémem Windows, stále můžete publikovat a spouštět aplikace ClickOnce z místního serveru se spuštěnou službou IIS. Pokud ale neotevřete bránu Windows Firewall, nemůžete získat přístup k serveru se spuštěnou službou IIS z jiného počítače. Pokyny ke správě brány Windows Firewall najdete v nápovědě systému Windows.

Windows Server: Povolení rozšíření serveru FrontPage

Aplikace FrontPage Server Extensions od Microsoftu se vyžadují pro publikování aplikací na webový server windows, který používá protokol HTTP.

Windows Server ve výchozím nastavení nemá nainstalovaná rozšíření FrontPage Server Extensions. Pokud chcete pomocí sady Visual Studio publikovat na webový server Windows Serveru, který používá protokol HTTP s rozšířeními FrontPage Server Extensions, musíte nejprve nainstalovat rozšíření FrontPage Server Extensions. Instalaci můžete provést pomocí nástroje správa serveru ve Windows Serveru.

Windows Server: Uzamčené typy obsahu

Služba IIS ve Windows Serveru 2003 uzamkne všechny typy souborů s výjimkou určitých známých typů obsahu (například .htm, .html, .txtatd.). Pokud chcete povolit nasazení aplikací ClickOnce pomocí tohoto serveru, musíte změnit nastavení služby IIS tak, aby umožňovalo stahování souborů typu .application, .manifest a dalších vlastních typů souborů používaných vaší aplikací.

Pokud nasadíte pomocí serveru IIS, spusťte inetmgr.exe a přidejte nové typy souborů pro výchozí webovou stránku:

  • Pro přípony .application a .manifest by měl být typ MIME "application/x-ms-application". U jiných typů souborů by měl být typ MIME "application/octet-stream".

  • Pokud vytvoříte typ MIME s příponou "<em>" a typem MIME "application/octet-stream", umožní stažení souborů odblokovaného typu souboru. (Blokované typy souborů, jako jsou *.aspx a *.asmx , nelze stáhnout.)

    Konkrétní pokyny ke konfiguraci typů MIME na Windows Serveru naleznete v tématu Postup přidání typu MIME na web nebo aplikaci.

Mapování typů obsahu

Při publikování přes protokol HTTP by měl být typ obsahu (označovaný také jako typ MIME) pro soubor .application "application/x-ms-application". Pokud máte na serveru nainstalované rozhraní .NET Framework 2.0, nastaví se automaticky. Pokud není nainstalován, musíte vytvořit asociaci typu MIME pro kořenovou složku aplikace ClickOnce (nebo pro celý server).

Pokud nasadíte pomocí serveru IIS, spusťte inetmgr.exe a přidejte nový typ obsahu "application/x-ms-application" pro příponu .application .

Problémy s kompresí HTTP

Pomocí Technologie ClickOnce můžete provádět stahování, která používá kompresi HTTP, technologii webového serveru, která používá algoritmus GZIP ke komprimaci datového streamu před odesláním datového proudu klientovi. Klient (v tomto případě ClickOnce) před čtením souborů dekomprimuje datový proud.

Pokud používáte službu IIS, můžete snadno povolit kompresi HTTP. Pokud však povolíte kompresi HTTP, je povolena pouze pro určité typy souborů – konkrétně pro HTML a textové soubory. Chcete-li povolit kompresi pro sestavení (.dll), XML (.xml), manifesty nasazení (.application) a manifesty aplikací (.manifest), je nutné přidat tyto typy souborů do seznamu typů, které má služba IIS komprimovat. Dokud do nasazení nepřidáte typy souborů, budou komprimovány pouze textové soubory a soubory HTML.

Podrobné pokyny ke službě IIS naleznete v tématu Určení dalších typů dokumentů pro kompresi HTTP.