Tidak Dapat Menginstal Aplikasi ClickOnce karena Pengaturan Keamanan (Windows 10)

70

Ketika mencoba untuk menginstal aplikasi ClickOnce yang ditandatangani oleh Microsoft, muncul kesalahan yang menyatakan "Administrator Anda telah memblokir aplikasi ini karena berpotensi menimbulkan risiko keamanan ke komputer Anda" dan "Pengaturan keamanan Anda tidak memungkinkan aplikasi ini diinstal di komputer Anda" .

Sebagai administrator yang akan menetapkan kebijakan tersebut, untuk seumur hidup saya, saya tidak dapat mengetahui mengapa ini diblokir hanya untuk satu pengguna dan bukan pengguna lain yang PCnya didasarkan pada gambar yang sama dan mengapa itu berfungsi untuk pengguna lain yang seharusnya menikmati hak istimewa yang sama dengan pengguna yang menerima pesan berikut. Perhatikan bahwa kebijakan grup domain yang persis sama diterapkan untuk pengguna ini yang mengalami kesalahan dan untuk pengguna yang tidak menerima kesalahan.

Imgur

Bahkan berusaha menjalankan aplikasi "sebagai administrator" tidak menyelesaikan masalah. Log peristiwa tidak menunjukkan kesalahan, dan saya tidak dapat menemukan log untuk membantu mendiagnosis masalah.

Apa kebijakan atau pengaturan lokal yang mengizinkan atau menolak aplikasi ini?

Beem
sumber
Itu membutuhkan Internet atau Intranet Zone (Kepercayaan Penuh untuk instalasi CD-ROM) menurut msdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx
Peringatan ini terjadi pada mesin satu pengguna atau ada beberapa pengguna di beberapa mesin, mengalami masalah ini?
Ramhound
Saya mencatat, meskipun mungkin tidak terlalu jelas, dalam pertanyaan awal bahwa itu diblokir untuk 'hanya satu pengguna'.
Beems
Ini sepertinya masalah besar (34,438 kali dilihat). Bagaimana saya bisa menghentikan ini terjadi di komputer orang lain jika saya seorang pengembang? Masalah ini muncul dari pembuatan program di Visual Studio dan mencoba menjalankan Setup.exe untuk program saya.
Daniel
@Aniel Jika aplikasi Anda tidak memerlukan eskalasi, Anda dapat mencoba untuk menetapkan nilai registri di bawah HKCU sebagai gantinya: HKCU\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internetke Enabled(Pengungkapan penuh: Saya belum menguji ini). Kalau tidak, jika itu tidak berhasil, Anda dapat mencoba untuk memasukkan proses escalatable yang akan mengaturnya di bawah HKLM
Beems

Jawaban:

94

Ini disebabkan oleh "Perilaku Prompt ClickOnce Trust": https://msdn.microsoft.com/en-us/library/ee308453.aspx

Untuk menyesuaikan ini, cukup ubah nilai dalam Registry dan Anda harus dapat menginstal aplikasi.

Untuk mengaktifkan prompt kepercayaan ClickOnce dengan menggunakan editor registri Buka editor registri:

Klik Mulai, lalu klik Jalankan.

Di kotak Buka, ketik regedit32, lalu klik OK.

Temukan kunci registri berikut:

\ HKEY_LOCAL_MACHINE \ SOFTWARE \ MICROSOFT \ .NETFramework \ Security \ TrustManager \ PromptingLevel

Jika kunci tidak ada, buatlah.

Tambahkan subkunci berikut sebagai Nilai String, jika belum ada, dengan nilai terkait yang ditunjukkan pada tabel berikut.

Gambar Tabel

Di komputer saya, nilai-nilai ditetapkan ke "Dinonaktifkan" dan saya tidak tahu aplikasi mana yang melakukan itu. Saya mengubah nilai ke default dan sekarang semuanya berfungsi kembali seperti seharusnya.

Atau Anda bisa menghapus kunci "TrustManager" itu sendiri dan semuanya berfungsi dengan baik.


Thomas Sturzenegger
sumber
14
Terima kasih, ini memang masalahnya. Saya berubah "HKLM\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internet"menjadi Enableddan berfungsi seperti yang dimaksudkan sekarang.
Beems
1
Saya ingin menyebutkan bahwa opsi default adalah "Diaktifkan" untuk semua kecuali situs yang tidak tepercaya.
Hooch
3
Dalam kasus saya, saya perlu mengubah \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevelkeEnabled
MaciejLisCK
2
Ada entri yang berbeda untuk zona yang berbeda, seperti Internet, LocalIntranet, MyComputer, TrustedSites, UntrustedSites. Pilih salah satu yang sesuai dengan skenario Anda dan ubah nilainya menjadi Enabled.
smwikipedia
4
bagaimana mungkin sih pengguna normal melakukan ini? ok yah maksud saya jika seseorang tidak bodoh mereka dapat google dan menemukan jawaban ini dan melakukannya .. tetapi Anda tahu apa yang saya maksud, apa yang menyebalkan. Jika windows bukan OS terbaik untuk produktivitas saya tidak akan tahan dengan omong kosong ini (dan reboot otomatis memperbarui)
Mikey
2

Berikut ini adalah skrip powershell yang akan memperbarui nilai:

Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'Internet' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'LocalIntranet' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'MyComputer' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'TrustedSites' -value 'Enabled'
Set-Itemproperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'UntrustedSites' -value 'Enabled'

Cukup dengan menyalin / menempelkan kode di atas, di powershell "terangkat", (klik kanan jalankan sebagai administrator).

Dan jika Anda mendapatkan beberapa kesalahan, itu mungkin karena path tidak ada, kemudian jalankan perintah ini

New-Item "HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel" -force | Out-Null
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'Internet' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'LocalIntranet' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'MyComputer' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'TrustedSites' -value 'Enabled'
New-ItemProperty -path 'HKLM:\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel' -Name 'UntrustedSites' -value 'Enabled'
Aleksandar Pavić
sumber