共用方式為


設定 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 信任提示

  1. 開啟註冊表編輯器:

    1. 按一下 [開始],然後按一下 [執行]

    2. 在 [開啟] 方塊中,輸入 regedit,然後按一下 [確定]

  2. 尋找下列登入機碼:

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

    如果金鑰不存在,請加以建立。

  3. 將下列子機碼新增為 String Value,如果這些子機碼不存在,請使用下方表格中所示的對應值。

    字串值子鍵 價值
    Internet Enabled
    UntrustedSites Disabled
    MyComputer Enabled
    LocalIntranet Enabled
    TrustedSites Enabled

    針對 Office 解決方案,Internet 具有預設值 AuthenticodeRequired,而 UntrustedSites 具有 值 Disabled。 對於所有其他專案,Internet 的預設的值是 Enabled

以程式設計方式啟用 ClickOnce 信任提示

  1. 在 Visual Studio 中建立 Visual Basic 或 Visual C# 控制台應用程式。

  2. 開啟 Program.vbProgram.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();
    
  3. 建置並執行應用程式。

限制 ClickOnce 信任提示

限制信任提示,讓解決方案必須使用 Authenticode 憑證進行簽署,這些憑證必須具有已知的身分識別,然後才提示使用者進行信任決策。

若要使用登錄編輯器來限制 ClickOnce 信任提示

  1. 開啟註冊表編輯器:

    1. 按一下 [開始] ,然後按一下 [執行]

    2. 在 [開啟 ] 方塊中,輸入 regedit,然後按兩下 [確定]

  2. 尋找下列登入機碼:

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

    如果金鑰不存在,請加以建立。

  3. 如果以下子鍵尚不存在,則將其新增為 String Value,並賦予下表所示的對應值。

    字串值子鍵 價值
    UntrustedSites Disabled
    Internet AuthenticodeRequired
    MyComputer AuthenticodeRequired
    LocalIntranet AuthenticodeRequired
    TrustedSites AuthenticodeRequired

以程序設計方式限制 ClickOnce 信任提示

  1. 在 Visual Studio 中建立 Visual Basic 或 Visual C# 控制台應用程式。

  2. 開啟 Program.vbProgram.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();
    
  3. 建置並執行應用程式。

停用 ClickOnce 信任提示

您可以停用信任提示,讓使用者無法選擇在其安全策略中安裝尚未信任的解決方案。

若要使用註冊表編輯程式停用 ClickOnce 信任提示

  1. 開啟註冊表編輯器:

    1. 點擊 [開始] ,然後點擊 [執行]

    2. [開啟] 方塊中,輸入 regedit,然後按一下 [確定]

  2. 尋找下列登入機碼:

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

    如果金鑰不存在,請加以建立。

  3. 如果這些子機碼尚不存在,則將下表所示的相關聯值新增為 字串值

    字串值子鍵 價值
    UntrustedSites Disabled
    Internet Disabled
    MyComputer Disabled
    LocalIntranet Disabled
    TrustedSites Disabled

若要透過程式停用 ClickOnce 信任提示

  1. 在 Visual Studio 中建立 Visual Basic 或 Visual C# 控制台應用程式。

  2. 開啟 Program.vbProgram.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();
    
    
  3. 建置並執行應用程式。