Bagikan melalui


Masalah konfigurasi server dan klien dalam penyebaran ClickOnce

Jika Anda menggunakan Internet Information Services (IIS) di Windows Server, dan penyebaran Anda berisi tipe file yang tidak dikenali Windows, seperti file Microsoft Word, IIS akan menolak untuk mengirimkan file tersebut, dan penyebaran Anda tidak akan berhasil.

Selain itu, beberapa server Web dan perangkat lunak aplikasi Web, seperti ASP.NET, berisi daftar file dan jenis file yang tidak dapat Anda unduh. Misalnya, ASP.NET mencegah pengunduhan semua file Web.config . File-file ini mungkin berisi informasi sensitif seperti nama pengguna dan kata sandi.

Meskipun pembatasan ini seharusnya tidak menyebabkan masalah untuk mengunduh file ClickOnce inti seperti manifes dan rakitan, pembatasan ini dapat mencegah Anda mengunduh file data yang disertakan sebagai bagian dari aplikasi ClickOnce Anda. Dalam ASP.NET, Anda dapat mengatasi kesalahan ini dengan menghapus handler yang melarang pengunduhan file tersebut dari manajer konfigurasi IIS. Lihat dokumentasi server IIS untuk detail tambahan.

Beberapa server Web mungkin memblokir file dengan ekstensi seperti .dll, .config, dan .mdf. Aplikasi berbasis Windows biasanya menyertakan file dengan beberapa ekstensi ini. Jika pengguna mencoba menjalankan aplikasi ClickOnce yang mengakses file yang diblokir di server Web, kesalahan akan terjadi. Daripada membuka blokir semua ekstensi file, ClickOnce menerbitkan setiap file aplikasi dengan ekstensi file .deploy secara default. Oleh karena itu, administrator hanya perlu mengonfigurasi server Web untuk membuka blokir tiga ekstensi file berikut:

  • .aplikasi

  • .manifest

  • .deploy

    Namun, Anda dapat menonaktifkan opsi ini dengan menghapus opsi Gunakan ekstensi file ".deploy" pada Kotak Dialog Opsi Penerbitan, dalam hal ini Anda harus mengonfigurasi server Web untuk membuka blokir semua ekstensi file yang digunakan dalam aplikasi.

Anda harus mengonfigurasi .manifest, .application, dan .deploy, misalnya, jika Anda menggunakan IIS di mana Anda belum menginstal .NET Framework, atau jika Anda menggunakan server Web lain (misalnya, Apache).

ClickOnce dan Secure Sockets Layer (SSL)

Aplikasi ClickOnce akan berfungsi dengan baik melalui SSL, kecuali ketika browser menaikkan permintaan tentang sertifikat SSL. Perintah dapat dinaikkan ketika ada yang salah dengan sertifikat, seperti ketika nama situs tidak cocok atau sertifikat telah kedaluwarsa. Untuk membuat ClickOnce berfungsi melalui koneksi SSL, pastikan bahwa sertifikat up-to-date, dan bahwa data sertifikat cocok dengan data situs.

ClickOnce dan autentikasi proksi

ClickOnce menyediakan dukungan untuk autentikasi proksi Terintegrasi Windows yang dimulai di .NET Framework 3.5. Tidak diperlukan arahan machine.config spesifik. ClickOnce tidak menyediakan dukungan untuk protokol autentikasi lain seperti Basic atau Digest.

Anda juga dapat menerapkan perbaikan ke .NET Framework 2.0 untuk mengaktifkan fitur ini. Untuk informasi selengkapnya, lihat MEMPERBAIKI: Pesan kesalahan saat Anda mencoba menginstal aplikasi ClickOnce yang Anda buat di .NET Framework 2.0 ke komputer klien yang dikonfigurasi untuk menggunakan server proksi: "Autentikasi proksi diperlukan".

Untuk informasi selengkapnya, lihat <elemen defaultProxy> (pengaturan jaringan).

Kompatibilitas browser ClickOnce dan Web

Saat ini, penginstalan ClickOnce akan diluncurkan hanya jika URL ke manifes penyebaran dibuka menggunakan browser. Penyebaran yang URL-nya diluncurkan dari aplikasi lain, seperti Microsoft Office Outlook, akan berhasil diluncurkan hanya jika Internet Explorer diatur sebagai browser Web default.

Nota

Mozilla Firefox didukung jika penyedia penyebaran tidak kosong atau ekstensi Asisten Microsoft .NET Framework diinstal. Ekstensi ini dikemas dengan .NET Framework 3.5 SP1. Untuk dukungan XBAP, plug-in NPWPF diaktifkan saat diperlukan.

Mengaktifkan aplikasi ClickOnce melalui pembuatan skrip browser

Jika Anda telah mengembangkan halaman Web kustom yang meluncurkan aplikasi ClickOnce menggunakan Active Scripting, Anda mungkin menemukan bahwa aplikasi tidak akan diluncurkan pada beberapa komputer. Browser berisi pengaturan seperti Otomatis meminta unduhan file, yang memengaruhi perilaku ini. Pengaturan browser ini biasanya tercantum di bawah kategori Unduhan , dan diaktifkan secara default. Ketika pengaturan ini dinonaktifkan, setiap upaya untuk mengaktifkan aplikasi ClickOnce secara terprogram (misalnya, dengan menetapkan URL-nya ke document.location properti) akan diblokir. Dalam keadaan ini, pengguna hanya dapat meluncurkan aplikasi melalui unduhan yang dimulai pengguna, misalnya, dengan mengklik hyperlink yang diatur ke URL aplikasi.

Masalah konfigurasi server tambahan

Izin administrator diperlukan

Anda harus memiliki izin Administrator di server target jika Anda menerbitkan dengan HTTP. IIS memerlukan tingkat izin ini. Jika Anda tidak menerbitkan menggunakan HTTP, Anda hanya memerlukan izin tulis pada jalur target.

Masalah autentikasi server

Saat Anda menerbitkan ke server jarak jauh yang menonaktifkan "Akses Anonim", Anda akan menerima peringatan berikut:

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

Nota

Anda dapat membuat autentikasi NTLM (respons tantangan NT) berfungsi jika situs meminta kredensial selain kredensial default Anda, dan, dalam kotak dialog keamanan, Anda mengklik OK saat diminta jika Anda ingin menyimpan kredensial yang disediakan untuk sesi mendatang. Namun, solusi ini tidak akan berfungsi untuk autentikasi dasar.

Menggunakan server Web pihak ketiga

Jika Anda menyebarkan aplikasi ClickOnce dari server Web selain IIS, Anda mungkin mengalami masalah jika server mengembalikan jenis konten yang salah untuk file ClickOnce kunci, seperti manifes penyebaran dan manifes aplikasi. Untuk mengatasi masalah ini, lihat dokumentasi Bantuan server Web Anda tentang cara menambahkan tipe isi baru ke server, dan pastikan bahwa semua pemetaan ekstensi nama file yang tercantum dalam tabel berikut ini sudah ada.

Ekstensi nama file Jenis konten
.application application/x-ms-application
.manifest application/x-ms-manifest
.deploy application/octet-stream
.msu application/octet-stream
.msp application/octet-stream

ClickOnce dan drive yang telah dipetakan

Jika Anda menggunakan Visual Studio untuk menerbitkan aplikasi ClickOnce, Anda tidak dapat menentukan drive yang dipetakan sebagai lokasi penginstalan. Namun, Anda dapat memodifikasi aplikasi ClickOnce untuk menginstal dari drive yang dipetakan dengan menggunakan Generator dan Editor Manifes (Mage.exe dan MageUI.exe). Untuk informasi selengkapnya, lihat Mage.exe (Pembuatan manifes dan Alat Pengeditan) dan MageUI.exe (Pembuatan Manifes dan Alat Pengeditan, Klien Grafis).

Protokol FTP tidak didukung untuk menginstal aplikasi

ClickOnce mendukung penginstalan aplikasi dari server Web HTTP 1.1 atau server file apa pun. FTP, Protokol Transfer File, tidak didukung untuk menginstal aplikasi. Anda dapat menggunakan FTP untuk menerbitkan aplikasi saja. Tabel berikut ini meringkas perbedaan ini:

Jenis URL Description
Ftp:// Anda dapat menerbitkan aplikasi ClickOnce dengan menggunakan protokol ini.
http:// Anda dapat menginstal aplikasi ClickOnce dengan menggunakan protokol ini.
https:// Anda dapat menginstal aplikasi ClickOnce dengan menggunakan protokol ini.
file:// Anda dapat menginstal aplikasi ClickOnce dengan menggunakan protokol ini.

Windows Firewall

Secara default, Windows mengaktifkan Windows Firewall. Jika Anda mengembangkan aplikasi di komputer yang menginstal Windows, Anda masih dapat menerbitkan dan menjalankan aplikasi ClickOnce dari server lokal yang menjalankan IIS. Namun, Anda tidak dapat mengakses server yang menjalankan IIS dari komputer lain kecuali Anda membuka Windows Firewall. Lihat Bantuan Windows untuk instruksi tentang mengelola Windows Firewall.

Windows Server: Mengaktifkan ekstensi server FrontPage

Ekstensi Server FrontPage dari Microsoft diperlukan untuk menerbitkan aplikasi ke server Web Windows yang menggunakan HTTP.

Secara default, Windows Server tidak menginstal Ekstensi Server FrontPage. Jika Anda ingin menggunakan Visual Studio untuk menerbitkan ke server Web Windows Server yang menggunakan HTTP dengan Ekstensi Server FrontPage, Anda harus menginstal Ekstensi Server FrontPage terlebih dahulu. Anda dapat melakukan penginstalan dengan menggunakan alat kelola administrasi Server Anda di Windows Server.

Windows Server: Tipe isi terproteksi

IIS di Windows Server 2003 mengunci semua jenis file kecuali untuk jenis konten tertentu yang diketahui (misalnya, .htm, .html, .txt, dan sebagainya). Untuk mengaktifkan penyebaran aplikasi ClickOnce menggunakan server ini, Anda perlu mengubah pengaturan IIS untuk memungkinkan pengunduhan file jenis .application, .manifest, dan jenis file kustom lainnya yang digunakan oleh aplikasi Anda.

Jika Anda menyebarkan menggunakan server IIS, jalankan inetmgr.exe dan tambahkan Jenis File baru untuk halaman Web default:

  • Untuk ekstensi .application dan .manifest , jenis MIME harus "application/x-ms-application." Untuk jenis file lain, jenis MIME harus "application/octet-stream."

  • Jika Anda membuat jenis MIME dengan ekstensi "<em>" dan jenis MIME "application/octet-stream," itu akan memungkinkan file jenis file yang tidak diblokir diunduh. (Namun, jenis file yang diblokir seperti *.aspx dan *.asmx tidak dapat diunduh.)

    Untuk instruksi khusus tentang mengonfigurasi jenis MIME di Windows Server, lihat Cara menambahkan jenis MIME ke situs web atau aplikasi.

Pemetaan tipe isi

Saat menerbitkan melalui HTTP, jenis konten (juga dikenal sebagai jenis MIME) untuk file .application harus "application/x-ms-application." Jika Anda memiliki .NET Framework 2.0 yang terinstal di server, ini akan diatur untuk Anda secara otomatis. Jika ini tidak diinstal, maka Anda perlu membuat asosiasi jenis MIME untuk aplikasi ClickOnce vroot (atau seluruh server).

Jika Anda menyebarkan menggunakan server IIS, jalankan inetmgr.exe dan tambahkan jenis konten baru "application/x-ms-application" untuk ekstensi .application .

Masalah pemadatan HTTP

Dengan ClickOnce, Anda dapat melakukan unduhan yang menggunakan kompresi HTTP, teknologi server Web yang menggunakan algoritma GZIP untuk mengompresi aliran data sebelum mengirim aliran ke klien. Klien—dalam hal ini, ClickOnce—mendekompresi aliran sebelum membaca file.

Jika Anda menggunakan IIS, Anda dapat dengan mudah mengaktifkan kompresi HTTP. Namun, ketika Anda mengaktifkan kompresi HTTP, itu hanya diaktifkan untuk jenis file tertentu—yaitu, HTML dan file teks. Untuk mengaktifkan kompresi untuk rakitan (.dll), XML (.xml), manifes penyebaran (.aplikasi), dan manifes aplikasi (.manifest), Anda harus menambahkan jenis file ini ke daftar jenis untuk IIS untuk dikompresi. Hingga Anda menambahkan jenis file ke penyebaran Anda, hanya file teks dan HTML yang akan dikompresi.

Untuk instruksi terperinci untuk IIS, lihat Cara menentukan jenis dokumen tambahan untuk pemadatan HTTP.