Không thể cài đặt ứng dụng ClickOnce do Cài đặt bảo mật (Windows 10)


70

Khi cố gắng cài đặt ứng dụng ClickOnce do Microsoft ký, một lỗi xuất hiện cho biết "Quản trị viên của bạn đã chặn ứng dụng này vì nó có thể gây rủi ro bảo mật cho máy tính của bạn" và "Cài đặt bảo mật của bạn không cho phép ứng dụng này được cài đặt trên máy tính của bạn" .

Là quản trị viên đã đặt ra các chính sách đã nói, tôi không thể tìm ra lý do tại sao điều này bị chặn chỉ cho một người dùng mà không phải những người dùng khác có PC dựa trên cùng một hình ảnh và tại sao nó lại hoạt động cho những người dùng khác nên được hưởng các đặc quyền giống như người dùng đang nhận được thông báo sau. Lưu ý rằng các chính sách nhóm chính xác giống nhau được áp dụng cho người dùng này đang gặp lỗi và cho người dùng không nhận được lỗi.

Imgur

Ngay cả việc cố gắng chạy ứng dụng "với tư cách quản trị viên" cũng không giải quyết được vấn đề. Nhật ký sự kiện cho thấy không có lỗi và tôi không thể tìm thấy bất kỳ nhật ký nào để giúp chẩn đoán sự cố.

Những chính sách hoặc cài đặt cục bộ nào sẽ cho phép hoặc từ chối ứng dụng này?


Nó yêu cầu Internet hoặc Vùng Intranet (Tin cậy hoàn toàn cho việc cài đặt CD-ROM) theo msdn.microsoft.com/en-us/l

Cảnh báo này xảy ra trên một máy của một người dùng hoặc nhiều người dùng trên nhiều máy, có vấn đề này không?
Ramhound

Tôi đã lưu ý, mặc dù có thể không hoàn toàn rõ ràng, trong câu hỏi ban đầu rằng nó đã bị chặn vì "chỉ một người dùng".
Beems

Đây dường như là một vấn đề lớn (34.438 lượt xem). Làm cách nào tôi có thể ngăn điều này xảy ra trên máy tính của người khác nếu tôi là nhà phát triển? Vấn đề này phát sinh từ việc tạo các chương trình trong Visual Studio và cố gắng chạy Setup.exe cho chương trình của tôi.
Daniel

@Daniel Nếu ứng dụng của bạn không yêu cầu leo ​​thang, bạn có thể thử đặt giá trị đăng ký theo HKCU thay vào đó: HKCU\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internetthành Enabled(Tiết lộ đầy đủ: Tôi chưa kiểm tra điều này). Mặt khác, nếu điều đó không hiệu quả, bạn có thể thử đưa vào một quy trình leo thang sẽ đặt nó theo HKLM
Beems

Câu trả lời:


94

Điều này được gây ra bởi "Hành vi nhắc nhở tin cậy của ClickOnce": https://msdn.microsoft.com/en-us/l Library / e308453.aspx

Để điều chỉnh điều này, chỉ cần thay đổi các giá trị trong Registry và bạn sẽ có thể cài đặt ứng dụng.

Để bật lời nhắc tin cậy ClickOnce bằng cách sử dụng trình soạn thảo sổ đăng ký Mở trình soạn thảo sổ đăng ký:

Bấm Bắt đầu, rồi bấm Chạy.

Trong hộp Mở, nhập regedit32, rồi bấm OK.

Tìm khóa đăng ký sau:

\ HKEY_LOCAL_MACHINE \ PHẦN MỀM \ MICROSOFT \ .NETFramework \ Security \ TrustManager \ PromptingLevel

Nếu khóa không tồn tại, hãy tạo nó.

Thêm các khóa con sau dưới dạng Giá trị chuỗi, nếu chúng chưa tồn tại, với các giá trị được liên kết được hiển thị trong bảng sau.

Bảng hình ảnh

Trên máy tính của tôi, các giá trị được đặt thành "Vô hiệu hóa" và tôi không biết ứng dụng nào đã làm điều đó. Tôi đã thay đổi các giá trị thành mặc định và bây giờ mọi thứ hoạt động trở lại như bình thường.

Hoặc bạn chỉ có thể xóa chính "TrustManager" và mọi thứ đều hoạt động tốt.



14
Cảm ơn, đây thực sự là vấn đề. Tôi đã thay đổi "HKLM\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internet"đến Enabledvà nó hoạt động như-ý định bây giờ.
Beems

1
Tôi muốn đề cập rằng tùy chọn mặc định là "Đã bật" cho tất cả các trang web trừ Không tin cậy.
Hooch

3
Trong trường hợp của tôi, tôi cần đổi \HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevelthànhEnabled
MaciejLisCK

2
Có các mục khác nhau cho các khu vực khác nhau, chẳng hạn như Internet, LocalIntranet, MyComputer, TrustedSites, UntrustySites. Chọn một kịch bản phù hợp với kịch bản của bạn và thay đổi giá trị của nó thành Enabled.
smwikipedia

4
Làm thế nào họ là một người dùng bình thường phải làm điều này? ok, ý tôi là nếu ai đó không ngu ngốc, họ có thể google và tìm câu trả lời này và làm điều đó .. nhưng bạn biết ý tôi là gì, thật là đau ở mông. Nếu các cửa sổ không phải là hệ điều hành tốt nhất cho năng suất, tôi sẽ không sử dụng crap này (và khởi động lại bắt buộc tự động cập nhật)
Mikey

2

Dưới đây là tập lệnh powershell sẽ cập nhật các giá trị:

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'

Chỉ cần sao chép / dán mã ở trên, tại powershell "nâng cao", (nhấp chuột phải chạy với tư cách quản trị viên).

Và nếu bạn gặp một số lỗi, có thể là do đường dẫn không tồn tại, sau đó chạy lệnh này

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'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.