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

  1. 開啟登錄編輯器:

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

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

  2. 尋找以下登錄機碼:

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

    如果該機碼不存在,則會加以建立。

  3. 如果下列子機碼尚未存在,請使用下表所示的相關聯值,將該子機碼新增為 [字串值]

    字串值子機碼
    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. 如果下列子機碼尚未存在,請使用下表所示的相關聯值,將該子機碼新增為 [字串值]

    字串值子機碼
    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. 建置並執行應用程式。