設定 ClickOnce 信任提示行為
您可以設定 ClickOnce 信任提示,以控制終端使用者是否獲得安裝 ClickOnce 應用程式的選項,例如 Windows Forms 應用程式、Windows Presentation Foundation 應用程式、主控台應用程式、WPF 瀏覽器應用程式,以及 Office 解決方案。 您可以在每個終端使用者的電腦上設定登錄機碼,以設定信任提示。
下表顯示可套用至五個區域 (Internet、UntrustedSites、MyComputer、LocalIntranet 和 TrustedSites) 每一個的組態選項。
選項 | 登錄設定值 | 描述 |
---|---|---|
啟用信任提示。 | Enabled |
隨即顯示 ClickOnce 信任提示,讓終端使用者可以將信任授與 ClickOnce 應用程式。 |
限制信任提示。 | AuthenticodeRequired |
只有在 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
如果該機碼不存在,則會加以建立。
如果下列子機碼尚未存在,請使用下表所示的相關聯值,將該子機碼新增為 [字串值]。
字串值子機碼 值 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
如果該機碼不存在,則會加以建立。
如果下列子機碼尚未存在,請使用下表所示的相關聯值,將該子機碼新增為 [字串值]。
字串值子機碼 值 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();
建置並執行應用程式。