設定 ClickOnce 信任提示行為
您可以設定 ClickOnce 信任提示,以控制使用者是否獲得安裝 ClickOnce 應用程式的選項,例如 Windows Forms 應用程式、Windows Presentation Foundation 應用程式、控制台應用程式、WPF 瀏覽器應用程式和 Office 解決方案。 您可以在每個使用者的電腦上設定登錄機碼,以設定信任提示。
下表顯示可套用至五個區域的組態選項(Internet、UntrustedSites、MyComputer、LocalIntranet 和 TrustedSites)。
選擇 | 登錄設定值 | 描述 |
---|---|---|
啟用信任提示。 | Enabled |
隨即顯示 ClickOnce 信任提示,讓使用者可以將信任授與 ClickOnce 應用程式。 |
限制信任提示。 | AuthenticodeRequired |
只有在 ClickOnce 應用程式以識別發行者的憑證簽署時,才會顯示 ClickOnce 信任提示。 否則,將不會安裝 ClickOnce 應用程式。 |
停用信任提示。 | Disabled |
不會顯示 ClickOnce 信任提示。 只會安裝以明確信任憑證簽署的 ClickOnce 應用程式。 |
下表顯示每個區域的預設行為。 [應用程式] 資料行是指 Windows Forms 應用程式、Windows Presentation Foundation 應用程式、WPF 瀏覽器應用程式和控制台應用程式。
區 | 應用 | Office 解決方案 |
---|---|---|
MyComputer |
Enabled |
Enabled |
LocalIntranet |
Enabled |
Enabled |
TrustedSites |
Enabled |
Enabled |
Internet |
Enabled |
AuthenticodeRequired |
UntrustedSites |
Disabled |
Disabled |
您可以透過啟用、限制或停用 ClickOnce 信任提示來更改這些設定。
啟用 ClickOnce 信任提示
當您想要讓終端使用者看到安裝和執行來自該區域的任何 ClickOnce 應用程式的選項時,請啟用區域的信任提示。
若要透過使用登錄編輯器來啟用 ClickOnce 信任提示
開啟註冊表編輯器:
按一下 [開始],然後按一下 [執行]。
在 [開啟] 方塊中,輸入
regedit
,然後按一下 [確定] 。
尋找下列登入機碼:
\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel
如果金鑰不存在,請加以建立。
將下列子機碼新增為 String Value,如果這些子機碼不存在,請使用下方表格中所示的對應值。
字串值子鍵 價值 Internet
Enabled
UntrustedSites
Disabled
MyComputer
Enabled
LocalIntranet
Enabled
TrustedSites
Enabled
針對 Office 解決方案,
Internet
具有預設值AuthenticodeRequired
,而UntrustedSites
具有 值Disabled
。 對於所有其他專案,Internet
的預設的值是Enabled
。
以程式設計方式啟用 ClickOnce 信任提示
在 Visual Studio 中建立 Visual Basic 或 Visual C# 控制台應用程式。
開啟 Program.vb 或 Program.cs 檔案進行編輯,並新增下列程序代碼。
Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\MICROSOFT\\.NETFramework\\Security\\TrustManager\\PromptingLevel"); key.SetValue("MyComputer", "Enabled"); key.SetValue("LocalIntranet", "Enabled"); key.SetValue("Internet", "AuthenticodeRequired"); key.SetValue("TrustedSites", "Enabled"); key.SetValue("UntrustedSites", "Disabled"); key.Close();
建置並執行應用程式。
限制 ClickOnce 信任提示
限制信任提示,讓解決方案必須使用 Authenticode 憑證進行簽署,這些憑證必須具有已知的身分識別,然後才提示使用者進行信任決策。
若要使用登錄編輯器來限制 ClickOnce 信任提示
開啟註冊表編輯器:
按一下 [開始] ,然後按一下 [執行] 。
在 [開啟 ] 方塊中,輸入
regedit
,然後按兩下 [確定] 。
尋找下列登入機碼:
\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel
如果金鑰不存在,請加以建立。
如果以下子鍵尚不存在,則將其新增為 String Value,並賦予下表所示的對應值。
字串值子鍵 價值 UntrustedSites
Disabled
Internet
AuthenticodeRequired
MyComputer
AuthenticodeRequired
LocalIntranet
AuthenticodeRequired
TrustedSites
AuthenticodeRequired
以程序設計方式限制 ClickOnce 信任提示
在 Visual Studio 中建立 Visual Basic 或 Visual C# 控制台應用程式。
開啟 Program.vb 或 Program.cs 檔案進行編輯,並新增下列程序代碼。
Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\MICROSOFT\\.NETFramework\\Security\\TrustManager\\PromptingLevel"); key.SetValue("MyComputer", "AuthenticodeRequired"); key.SetValue("LocalIntranet", "AuthenticodeRequired"); key.SetValue("Internet", "AuthenticodeRequired"); key.SetValue("TrustedSites", "AuthenticodeRequired"); key.SetValue("UntrustedSites", "Disabled"); key.Close();
建置並執行應用程式。
停用 ClickOnce 信任提示
您可以停用信任提示,讓使用者無法選擇在其安全策略中安裝尚未信任的解決方案。
若要使用註冊表編輯程式停用 ClickOnce 信任提示
開啟註冊表編輯器:
點擊 [開始] ,然後點擊 [執行] 。
在 [開啟] 方塊中,輸入
regedit
,然後按一下 [確定]。
尋找下列登入機碼:
\HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\.NETFramework\Security\TrustManager\PromptingLevel
如果金鑰不存在,請加以建立。
如果這些子機碼尚不存在,則將下表所示的相關聯值新增為 字串值。
字串值子鍵 價值 UntrustedSites
Disabled
Internet
Disabled
MyComputer
Disabled
LocalIntranet
Disabled
TrustedSites
Disabled
若要透過程式停用 ClickOnce 信任提示
在 Visual Studio 中建立 Visual Basic 或 Visual C# 控制台應用程式。
開啟 Program.vb 或 Program.cs 檔案進行編輯,並新增下列程序代碼。
Microsoft.Win32.RegistryKey key; key = Microsoft.Win32.Registry.LocalMachine.CreateSubKey("SOFTWARE\\MICROSOFT\\.NETFramework\\Security\\TrustManager\\PromptingLevel"); key.SetValue("MyComputer", "Disabled"); key.SetValue("LocalIntranet", "Disabled"); key.SetValue("Internet", "Disabled"); key.SetValue("TrustedSites", "Disabled"); key.SetValue("UntrustedSites", "Disabled"); key.Close();
建置並執行應用程式。