セキュリティ設定が原因でClickOnceアプリケーションをインストールできない(Windows 10)


70

Microsoft署名のClickOnceアプリケーションをインストールしようとすると、「コンピューターにセキュリティリスクを及ぼす可能性があるため、管理者がこのアプリケーションをブロックしました」および「セキュリティ設定によりこのアプリケーションをコンピューターにインストールできない」というエラーが表示されます。

上記のポリシーを設定する管理者として、私の人生では、これが1人のユーザーだけでブロックされ、PCが同じイメージに基づいている他のユーザーではブロックされない理由と、それが必要な他のユーザーで機能する理由を理解することはできません次のメッセージを受信して​​いるユーザーと同じ特権を享受します。エラーが発生しているこのユーザーとエラーを受信して​​いないユーザーには、まったく同じドメイングループポリシーが適用されることに注意してください。

イグル

「管理者として」アプリケーションを実行しようとしても、問題は解決しません。イベントログにエラーは表示されず、問題の診断に役立つログが見つかりません。

このアプリケーションを許可または拒否するローカルポリシーまたは設定は何ですか?


それは必要で、インターネットやイントラネットゾーン(CD-ROMをインストールするための完全な信頼が)に従ってmsdn.microsoft.com/en-us/library/142dbbz4(v=vs.90).aspx

この警告は、単一のユーザーのマシンで発生していますか、または複数のマシンの複数のユーザーでこの問題が発生していますか?
ラムハウンド

最初の質問では、明確ではないかもしれませんが、「たった1人のユーザー」のためにブロックされていました。
Beems

これは大きな問題のようです(34,438ビュー)。私が開発者である場合、他の人のコンピューターでこれを防ぐにはどうすればよいですか?この問題は、Visual Studioでプログラムを作成し、私のプログラムでSetup.exeを実行しようとしたために発生しました。
ダニエル

@Danielアプリケーションがエスカレーションを必要としない場合、代わりにHKCUでレジストリ値を設定しようとすることができます:HKCU\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internetto Enabled(完全開示:これはテストしていません)。それ以外の場合、それが機能しない場合は、HKLM
Beems

回答:


94

これは、「ClickOnce信頼プロンプトの動作」が原因です:https : //msdn.microsoft.com/en-us/library/ee308453.aspx

これを調整するには、レジストリの値を変更するだけで、アプリケーションをインストールできるはずです。

レジストリエディターを使用してClickOnce信頼プロンプトを有効にするにはレジストリエディターを開きます。

[スタート]をクリックし、[実行]をクリックします。

[名前]ボックスにregedit32と入力し、[OK]をクリックします。

次のレジストリキーを見つけます。

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

キーが存在しない場合は作成します。

次のサブキーを文字列値として追加します(存在しない場合)。関連する値は次の表に示します。

テーブル画像

私のコンピューターでは、値が「無効」に設定されており、どのアプリケーションがそれを行ったのかわかりません。値をデフォルトに変更すると、すべてが正常に機能するようになりました。

または、キー「TrustManager」自体を削除するだけで、すべてが機能します。



14
おかげで、これは確かに問題でした。に変更"HKLM\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel\Internet"Enabled、意図したとおりに動作するようになりました。
Beems

1
信頼できないサイトを除くすべてのサイトのデフォルトオプションは「有効」です。
Hooch

3
私の場合、次のように変更\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\Security\TrustManager\PromptingLevelする必要がありますEnabled
MaciejLisCK

2
インターネット、LocalIntranet、MyComputer、TrustedSites、UntrustedSitesなど、ゾーンごとに異なるエントリがあります。シナリオに合ったものを選択し、その値をに変更しますEnabled
-smwikipedia

4
彼らは一体どうやってこれをするはずの普通のユーザーなのか?わかりました。誰かがグーグルでこの答えを見つけてそれをすることができるバカでないなら、私は意味します。Windowsが生産性にとって最高のOSでなかった場合、私はこのがらくた(および自動更新の強制再起動)に我慢しませんでした
Mikey

2

値を更新する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 'Enabled'

「昇格された」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 'Enabled'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.