Aracılığıyla paylaş


ClickOnce dağıtımlarında sunucu ve istemci yapılandırma sorunları

Windows Server'da Internet Information Services (IIS) kullanıyorsanız ve dağıtımınız Microsoft Word dosyası gibi Windows'un tanımadığı bir dosya türü içeriyorsa, IIS bu dosyayı iletmeyi reddeder ve dağıtımınız başarılı olmaz.

Ayrıca, ASP.NET gibi bazı Web sunucuları ve Web uygulaması yazılımları indiremeyeceğiniz dosyaların ve dosya türlerinin listesini içerir. Örneğin, ASP.NET tüm Web.config dosyalarının indirilmesini engeller. Bu dosyalar kullanıcı adları ve parolalar gibi hassas bilgiler içerebilir.

Bu kısıtlama bildirimler ve derlemeler gibi temel ClickOnce dosyalarını indirirken hiçbir soruna neden olmasa da, bu kısıtlama ClickOnce uygulamanızın bir parçası olarak dahil edilen veri dosyalarını indirmenizi engelleyebilir. ASP.NET bu tür dosyaların IIS yapılandırma yöneticisinden indirilmesini engelleyen işleyiciyi kaldırarak bu hatayı çözebilirsiniz. Ek ayrıntılar için IIS sunucusu belgelerine bakın.

Bazı Web sunucuları .dll, .config ve .mdf gibi uzantılara sahip dosyaları engelleyebilir. Windows tabanlı uygulamalar genellikle bu uzantılardan bazılarına sahip dosyaları içerir. Kullanıcı, Web sunucusundaki engellenen bir dosyaya erişen bir ClickOnce uygulamasını çalıştırmayı denerse bir hata oluşur. ClickOnce, tüm dosya uzantılarının engellemesini kaldırmak yerine varsayılan olarak . deploy dosya uzantısına sahip tüm uygulama dosyalarını yayımlar. Bu nedenle, yöneticinin yalnızca aşağıdaki üç dosya uzantısının engelini kaldırmak için Web sunucusunu yapılandırması gerekir:

  • .Uygulama

  • .Bildirim

  • .Dağıtmak

    Ancak, Yayımlama Seçenekleri İletişim Kutusu'ndaki ".deploy" dosya uzantısını kullan seçeneğini temizleyerek bu seçeneği devre dışı bırakabilirsiniz. Bu durumda, Web sunucusunu uygulamada kullanılan tüm dosya uzantılarının engelini kaldıracak şekilde yapılandırmanız gerekir.

    .NET Framework'ü yüklemediğiniz IIS kullanıyorsanız veya başka bir Web sunucusu kullanıyorsanız (örneğin, Apache) .manifest, .application ve .deploy yapılandırmanız gerekir.

ClickOnce ve Güvenli Yuva Katmanı (SSL)

ClickOnce uygulaması, Internet Explorer'ın SSL sertifikası hakkında bir istem oluşturması dışında SSL üzerinden sorunsuz çalışır. Site adlarının eşleşmemesi veya sertifikanın süresinin dolması gibi, sertifikada bir sorun olduğunda istem tetiklenebilir. ClickOnce'un ssl bağlantısı üzerinde çalışmasını sağlamak için sertifikanın güncel olduğundan ve sertifika verilerinin site verileriyle eşleştiğinden emin olun.

ClickOnce ve proxy kimlik doğrulaması

ClickOnce, .NET Framework 3.5'te başlayan Windows Tümleşik proxy kimlik doğrulaması için destek sağlar. Belirli bir machine.config yönergesi gerekmez. ClickOnce, Temel veya Özet gibi diğer kimlik doğrulama protokolleri için destek sağlamaz.

Bu özelliği etkinleştirmek için .NET Framework 2.0'a bir düzeltme de uygulayabilirsiniz. Daha fazla bilgi için bkz . DÜZELTME: .NET Framework 2.0'da oluşturduğunuz bir ClickOnce uygulamasını ara sunucu kullanacak şekilde yapılandırılmış bir istemci bilgisayara yüklemeye çalıştığınızda oluşan hata iletisi: "Proxy kimlik doğrulaması gerekiyor".

Daha fazla bilgi için bkz <. defaultProxy> öğesi (ağ ayarları).

ClickOnce ve Web tarayıcısı uyumluluğu

Şu anda ClickOnce yüklemeleri yalnızca dağıtım bildiriminin URL'si Internet Explorer kullanılarak açıldığında başlatılır. URL'si Microsoft Office Outlook gibi başka bir uygulamadan başlatılan bir dağıtım, yalnızca Internet Explorer varsayılan Web tarayıcısı olarak ayarlandığında başarıyla başlatılır.

Not

Dağıtım sağlayıcısı boş değilse veya Microsoft .NET Framework Yardımcısı uzantısı yüklüyse Mozilla Firefox desteklenir. Bu uzantı .NET Framework 3.5 SP1 ile paketlenir. XBAP desteği için NPWPF eklentisi gerektiğinde etkinleştirilir.

Tarayıcı betiği kullanarak ClickOnce uygulamalarını etkinleştirme

Active Scripting kullanarak ClickOnce uygulamasını başlatan özel bir Web sayfası geliştirdiyseniz, uygulamanın bazı makinelerde başlatılmayacağını fark edebilirsiniz. Internet Explorer, bu davranışı etkileyen Otomatik dosya indirme istemleri adlı bir ayar içerir. Bu ayar, bu davranışı etkileyen Seçenekler menüsündeki Güvenlik Sekmesinde kullanılabilir. Dosya indirmeleri için otomatik istem olarak adlandırılır ve İndirmeler kategorisinin altında listelenir. özelliği intranet Web sayfaları için varsayılan olarak Etkinleştir ve İnternet Web sayfaları için varsayılan olarak devre dışı bırak olarak ayarlanır. Bu ayar Devre Dışı Bırak olarak ayarlandığında, clickOnce uygulamasını program aracılığıyla etkinleştirme girişimleri (örneğin, URL'sini document.location özelliğe atayarak) engellenir. Bu koşullar altında, kullanıcılar uygulamaları yalnızca kullanıcı tarafından başlatılan bir indirme yoluyla başlatabilir; örneğin, uygulamanın URL'sine ayarlanmış bir köprüye tıklayarak.

Ek sunucu yapılandırma sorunları

Yönetici istrator izinleri gerekli

HTTP ile yayımlıyorsanız hedef sunucuda Yönetici istrator izinlerine sahip olmanız gerekir. IIS bu izin düzeyini gerektirir. HTTP kullanarak yayımlamazsanız, yalnızca hedef yolda yazma izniniz olmalıdır.

Sunucu kimlik doğrulaması sorunları

"Anonim Erişim" kapalı olan bir uzak sunucuda yayımladığınızda aşağıdaki uyarıyı alırsınız:

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

Not

Site varsayılan kimlik bilgileriniz dışındaki kimlik bilgilerini isterse NTLM (NT sınama yanıtı) kimlik doğrulamasının çalışmasını sağlayabilir ve güvenlik iletişim kutusunda, sağlanan kimlik bilgilerini gelecekteki oturumlar için kaydetmek isteyip istemediğiniz sorulduğunda Tamam'a tıklarsınız. Ancak, bu geçici çözüm temel kimlik doğrulaması için çalışmaz.

Üçüncü taraf Web sunucularını kullanma

ClickOnce uygulamasını IIS dışında bir Web sunucusundan dağıtıyorsanız, sunucu dağıtım bildirimi ve uygulama bildirimi gibi anahtar ClickOnce dosyaları için yanlış içerik türü döndüriyorsa bir sorunla karşılaşabilirsiniz. Bu sorunu çözmek için, Sunucuya yeni içerik türleri ekleme hakkında Web sunucunuzun Yardım belgelerine bakın ve aşağıdaki tabloda listelenen tüm dosya adı uzantısı eşlemelerinin yerinde olduğundan emin olun.

Dosya adı uzantısı Content type
.application application/x-ms-application
.manifest application/x-ms-manifest
.deploy application/octet-stream
.msu application/octet-stream
.msp application/octet-stream

ClickOnce ve eşlenmiş sürücüler

ClickOnce uygulaması yayımlamak için Visual Studio kullanıyorsanız, yükleme konumu olarak eşlenmiş bir sürücü belirtemezsiniz. Ancak, ClickOnce uygulamasını, Bildirim Oluşturucu ve Düzenleyici'yi (Mage.exe ve MageUI.exe) kullanarak eşlenmiş bir sürücüden yükleyecek şekilde değiştirebilirsiniz. Daha fazla bilgi için bkz. Mage.exe (Bildirim Oluşturma ve Düzenleme Aracı) ve MageUI.exe (Bildirim Oluşturma ve Düzenleme Aracı, Grafik İstemci).

FTP protokolü, uygulamaları yüklemek için desteklenmiyor

ClickOnce, herhangi bir HTTP 1.1 Web sunucusundan veya dosya sunucusundan uygulama yüklemeyi destekler. Dosya Aktarım Protokolü olan FTP, uygulamaları yüklemek için desteklenmez. FTP'yi yalnızca uygulamaları yayımlamak için kullanabilirsiniz. Aşağıdaki tabloda bu farklar özetlemektedir:

URL Türü Açıklama
Ftp:// Bu protokolü kullanarak bir ClickOnce uygulaması yayımlayabilirsiniz.
http:// Bu protokolü kullanarak bir ClickOnce uygulaması yükleyebilirsiniz.
https:// Bu protokolü kullanarak bir ClickOnce uygulaması yükleyebilirsiniz.
Dosya:// Bu protokolü kullanarak bir ClickOnce uygulaması yükleyebilirsiniz.

Windows Güvenlik Duvarı

Varsayılan olarak Windows, Windows Güvenlik Duvarı'nı etkinleştirir. Uygulamanızı Windows yüklü bir bilgisayarda geliştiriyorsanız, IIS çalıştıran yerel sunucudan ClickOnce uygulamalarını yayımlamaya ve çalıştırmaya devam edebilirsiniz. Ancak, Windows Güvenlik Duvarı'nı açmadığınız sürece iis çalıştıran sunucuya başka bir bilgisayardan erişemezsiniz. Windows Güvenlik Duvarı'nı yönetme yönergeleri için Windows Yardımı'na bakın.

Windows Server: FrontPage sunucu uzantılarını etkinleştirme

Microsoft'un FrontPage Sunucu Uzantıları, uygulamaları HTTP kullanan bir Windows Web sunucusuna yayımlamak için gereklidir.

Varsayılan olarak, Windows Server'da FrontPage Server Uzantıları yüklü değildir. FrontPage Sunucu Uzantıları ile HTTP kullanan bir Windows Server Web sunucusuna yayımlamak için Visual Studio kullanmak istiyorsanız, önce FrontPage Sunucu Uzantıları'nı yüklemeniz gerekir. Windows Server'da Sunucunuzu Yönetme yönetim aracını kullanarak yüklemeyi gerçekleştirebilirsiniz.

Windows Server: Kilitli içerik türleri

Windows Server 2003'te IIS, bilinen bazı içerik türleri (örneğin, .htm, .html, .txt vb.) dışında tüm dosya türlerini kilitler. Bu sunucuyu kullanarak ClickOnce uygulamalarının dağıtımını etkinleştirmek için IIS ayarlarını ,application, .manifest ve uygulamanız tarafından kullanılan diğer özel dosya türlerinin indirilmesine izin verecek şekilde değiştirmeniz gerekir.

IIS sunucusu kullanarak dağıtım yaparsanız, inetmgr.exe dosyasını çalıştırın ve varsayılan Web sayfası için yeni Dosya Türleri ekleyin:

  • .application ve .manifest uzantıları için MIME türü "application/x-ms-application" olmalıdır. Diğer dosya türleri için MIME türü "application/octet-stream" olmalıdır.

  • "em>" uzantısına ve "<application/octet-stream" MIME türüne sahip bir MIME türü oluşturursanız, engellenmemiş dosya türündeki dosyaların indirilmesine izin verilir. (Ancak, *.aspx ve *.asmx gibi engellenen dosya türleri indirilemez.)

    Windows Server'da MIME türlerini yapılandırmaya ilişkin belirli yönergeler için bkz . Web sitesine veya uygulamaya MIME türü ekleme.

İçerik türü eşlemeleri

HTTP üzerinden yayımlarken, .application dosyasının içerik türü (MIME türü olarak da bilinir) "application/x-ms-application" olmalıdır. Sunucuda .NET Framework 2.0 yüklüyse, bu sizin için otomatik olarak ayarlanır. Bu yüklü değilse ClickOnce uygulaması vroot (veya sunucunun tamamı) için bir MIME türü ilişkilendirmesi oluşturmanız gerekir.

IIS sunucusu kullanarak dağıtım yaparsanız inetmgr komutunu çalıştırın .exe ve .application uzantısı için yeni bir "application/x-ms-application " içerik türü ekleyin.

HTTP sıkıştırma sorunları

ClickOnce ile, akışı istemciye göndermeden önce veri akışını sıkıştırmak için GZIP algoritmasını kullanan bir Web sunucusu teknolojisi olan HTTP sıkıştırmasını kullanan indirme işlemleri gerçekleştirebilirsiniz. İstemci (bu durumda ClickOnce), dosyaları okumadan önce akışın sıkıştırmasını ayırır.

IIS kullanıyorsanız, HTTP sıkıştırmasını kolayca etkinleştirebilirsiniz. Ancak, HTTP sıkıştırmayı etkinleştirdiğinizde, yalnızca html ve metin dosyaları gibi belirli dosya türleri için etkinleştirilir. Derlemeler (.dll), XML (.xml), dağıtım bildirimleri (.application) ve uygulama bildirimleri (.manifest) için sıkıştırmayı etkinleştirmek için bu dosya türlerini IIS'nin sıkıştıracakları türler listesine eklemeniz gerekir. Dağıtımınıza dosya türlerini ekleyene kadar yalnızca metin ve HTML dosyaları sıkıştırılır.

IIS ile ilgili ayrıntılı yönergeler için bkz . HTTP sıkıştırması için ek belge türlerini belirtme.