由于安全设置,无法安装 ClickOnce 应用程序 (Windows 10)

Bee*_*ems 106 clickonce windows-10

尝试安装 Microsoft 签名的 ClickOnce 应用程序时,会出现一条错误消息,指出“您的管理员已阻止此应用程序,因为它可能对您的计算机构成安全风险”和“您的安全设置不允许在您的计算机上安装此应用程序” .

作为设置上述策略的管理员,我终生无法弄清楚为什么只有一个用户而不是 PC 基于相同图像的其他用户被阻止,以及为什么它适用于其他应该被阻止的用户与接收以下消息的用户享有相同的权限。请注意,完全相同的域组策略应用于遇到错误的此用户和未收到错误的用户。

伊格

即使尝试“以管理员身份”运行应用程序也无法解决问题。事件日志没有显示任何错误,否则我无法找到任何日志来帮助诊断问题。

哪些本地策略或设置会允许或拒绝此应用程序?

Tho*_*ger 150

这是由“ClickOnce Trust Prompt Behavior”引起的:https : //msdn.microsoft.com/en-us/library/ee308453.aspx

要对此进行调整,只需更改注册表中的值,您就应该能够安装该应用程序。

使用注册表编辑器启用 ClickOnce 信任提示 打开注册表编辑器:

单击开始,然后单击运行。

在“打开”框中,键入 regedit,然后单击“确定”。

找到以下注册表项:

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

如果密钥不存在,则创建它。

添加以下子项作为字符串值(如果它们尚不存在),关联值如下表所示。

表格图片

在我的电脑上,这些值被设置为“禁用”,我不知道哪个应用程序这样做了。我将值更改为默认值,现在一切都恢复正常了。

或者您可以删除密钥“TrustManager”本身,一切正常。


  • 谢谢,确实是这个问题。我将 `"HKLM\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internet"` 更改为 `Enabled`,它现在按预期工作。 (18认同)
  • 普通用户应该怎么做?好吧,我的意思是,如果有人不傻,他们可以谷歌搜索并找到这个答案并做到这一点......但你知道我的意思,这真是太痛苦了。如果 Windows 不是提高生产力的最佳操作系统,我不会忍受这种废话(以及自动更新强制重启) (8认同)
  • 我想提一下,除了不受信任的站点之外,所有站点的默认选项都是“已启用”。 (3认同)
  • 在我的情况下,我需要将 `\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevel` 更改为 `Enabled` (3认同)
  • 不同的区域有不同的条目,例如 Internet、LocalIntranet、MyComputer、TrustedSites、UntrustedSites。选择一个适合您的场景并将其值更改为“已启用”。 (3认同)

Ale*_*vić 16

这是一个将更新值的 powershell 脚本:

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 'Disabled'
Run Code Online (Sandbox Code Playgroud)

在“提升的”powershell 中复制/粘贴上面的代码就足够了(右键单击以管理员身份运行)。

如果你得到一些错误,那可能是因为路径不存在,然后运行这个命令

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 'Disabled'
Run Code Online (Sandbox Code Playgroud)

  • 我可以确认这有效。仅使用第一部分(WIN10 PRO 1909 版) (2认同)