共用方式為


指定 ClickOnce 發佈屬性

您可以在 [專案設計工具] 的 [發佈] 頁面上,或使用發佈精靈來設定 ClickOnce 發佈屬性。 在本文中,您將了解如何指定屬性,例如發佈位置、安裝 URL、線上或離線安裝模式,以及發佈版本。

注意

在 ClickOnce for .NET Core 3.1 和 .NET 5 或更新版本中,您可以使用 [發佈] 工具來設定部署屬性,而不是 [發行精靈] 和 [專案設計工具的發佈] 頁面。 如需詳細資訊,請參閱使用 ClickOnce 部署 .NET Windows 應用程式以及 ClickOnce for .NET

指定發佈位置

當您使用 ClickOnce 發行應用程式時,Publish Location屬性會指定放置應用程式檔案和資訊清單的位置。 這可以是檔案路徑或 FTP 伺服器的路徑。

您可以在 [專案設計工具] 的 [發佈] 頁面上,或使用 [發佈精靈] 來指定 Publish Location 屬性。 如需詳細資訊,請參閱如何:使用發佈精靈發佈 ClickOnce 應用程式

注意

當您使用 ClickOnce 安裝多個版本的應用程式時,安裝會將舊版應用程式移至您指定之發佈位置中名為 Archive 的資料夾。 以這種方式封存先前的版本可將安裝目錄與舊版的資料夾分開。

  1. 在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性]

  2. 按一下 [發佈] 索引標籤。

  3. 在 [發佈位置] 欄位中,使用下列其中一種格式輸入發佈位置:

    • 若要發佈至檔案共用或磁碟路徑,請使用 UNC 路徑 (\Server\ApplicationName) 或檔案路徑 (C:\Deploy\ApplicationName) 來輸入路徑。

    • 若要發佈至 FTP 伺服器,請使用 ftp://ftp.microsoft.com/ApplicationName 格式<>來輸入路徑。

      請注意,文字必須出現在 [發佈位置] 方塊中才能讓 [瀏覽] (...) 按鈕運作。

指定位置讓終端使用者從此處執行安裝作業

發佈 ClickOnce 應用程式時,使用者要下載並安裝應用程式的位置不一定是您一開始發佈應用程式的位置。 例如,在某些組織中,開發人員可能會將應用程式發佈至暫存伺服器,然後系統管理員會將應用程式移至網頁服務器。

在此情況下,您可以使用 Installation URL 屬性來指定使用者將前往下載應用程式的網頁服務器。 這是必要的,因為這可讓應用程式資訊清單知道要在哪裡尋找更新。

Installation URL 屬性可以在 [專案設計工具] 的 [發佈] 頁面上設定。

注意

您也可以使用 PublishWizard 來設定 Installation URL 屬性。 如需詳細資訊,請參閱作法:使用發佈精靈發佈 ClickOnce 應用程式

指定安裝 URL

  1. 在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性]

  2. 按一下 [發佈] 索引標籤。

  3. 在 [安裝 URL] 欄位中,使用格式為 https://www.contoso.com/ApplicationName 的完整 URL 輸入安裝位置,或使用格式為 \Server\ApplicationName 的 UNC 路徑。

指定 ClickOnce 離線或線上安裝模式

ClickOnce 應用程式的 Install Mode 會決定應用程式是否可供離線或線上使用。 當您選擇 [應用程式僅供線上使用] 時,使用者必須能夠存取 ClickOnce 發佈位置 (網頁或檔案共用),才能執行應用程式。 當您選擇 [應用程式可供離線使用] 時,應用程式也會將項目新增至 [開始] 功能表和 [新增或移除程式] 對話方塊;使用者能夠在未連線時執行應用程式。

Install Mode 可以在 [專案設計工具] 的 [發佈] 頁面上設定。

注意

Install Mode 也可以使用發佈精靈來設定。 如需詳細資訊,請參閱作法:使用發佈精靈發佈 ClickOnce 應用程式

讓 ClickOnce 應用程式只能在線上使用

  1. 在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性]

  2. 按一下 [發佈] 索引標籤。

  3. 在 [安裝模式和設定] 區域中,按一下 [應用程式只能在線上使用] 選項按鈕。

讓 ClickOnce 應用程式在線上或離線使用

  1. 在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性]

  2. 按一下 [發佈] 索引標籤。

  3. 在 [安裝模式和設定] 區域中,按一下 [應用程式也可供離線使用] 選項按鈕。

    安裝時,應用程式會將項目新增至 [開始] 功能表,以及 [控制台] 中的 [新增或移除程式]

設定 ClickOnce 發佈版本

ClickOnce Publish Version 屬性會決定您要發佈的應用程式是否會被視為更新。 每次遞增版本時,應用程式都會發佈為更新。

Publish Version 屬性可以在 [專案設計工具] 的 [發佈] 頁面上設定。

注意

專案選項會在每次發佈應用程式時自動遞增 Publish Version 屬性; 此選項預設為啟用。 如需詳細資訊,請參閱自動遞增 ClickOnce 發佈版本

變更發佈版本

  1. 選取方案總管 中的專案,然後按一下 [專案] 功能表中的 [屬性]

  2. 按一下 [發佈] 索引標籤。

  3. 在 [發佈版本] 欄位中,遞增 [主要]、 [次要]、[組建] 或 [修訂版本號碼]

    注意

    您絕對不應該遞減版本號碼; 這樣做可能會導致無法預測的更新行為。

自動累加 ClickOnce 的發佈版本

發佈 ClickOnce 應用程式時,變更 Publish Version 屬性會導致以更新的形式發佈應用程式。 根據預設,Visual Studio 會在每次發佈應用程式時自動遞增 Publish VersionRevision 編號。

您可以在 [專案設計工具] 的 [發佈] 頁面上停用此行為。

注意

您看到的對話方塊與功能表命令,可能會因您所使用的設定或版本,而與說明中所述不同。 若要變更您的設定,請在 [工具] 功能表上選擇 [匯入和匯出設定]。 如需詳細資訊,請參閱重設設定

停用自動遞增發佈版本

  1. 在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性]

  2. 按一下 [發佈] 索引標籤。

  3. 在 [發行版本] 區段中,清除 [使用每個版本自動遞增修訂] 核取方塊。

指定 ClickOnce 應用程式的發佈頁面

發佈 ClickOnce 應用程式時,系統會產生預設網頁 (publish.htm) 並與應用程式一起發佈。 此頁面包含應用程式的名稱、安裝應用程式和/或任何先決條件的連結,以及描述 ClickOnce 的說明主題連結。 專案的 [發佈頁面] 屬性可讓您指定 ClickOnce 應用程式的網頁名稱。

指定發佈頁面後,下次發佈時,就會將其複製到發佈位置;如果您再次發佈,不會予以覆寫。 如果您想自訂頁面的外觀,您可以這麼做,而不必擔心遺失變更。 如需詳細資訊,請參閱自訂 ClickOnce 預設網頁

您可以在 [發佈選項] 對話方塊中設定 [發佈頁面] 屬性,該對話方塊可從 [專案設計工具] 的 [發佈] 窗格存取。

指定 ClickOnce 應用程式的自訂網頁︰

  1. 選取方案總管 中的專案,然後按一下 [專案] 功能表中的 [屬性]

  2. 選取 [發佈] 窗格。

  3. 按一下 [選項] 按鈕以開啟 [發佈選項] 對話方塊。

  4. 按一下 [部署]

  5. 在 [發佈選項] 對話方塊中,確定已選取 [發佈後開啟部署網頁] 核取方塊 (預設應選取)。

  6. 在 [部署網頁] 方塊中,輸入網頁的名稱,然後按一下 [確定]

防止每次發佈時啟動發佈頁面︰

  1. 選取方案總管 中的專案,然後按一下 [專案] 功能表中的 [屬性]

  2. 選取 [發佈] 窗格。

  3. 按一下 [選項] 按鈕以開啟 [發佈選項] 對話方塊。

  4. 按一下 [部署]

  5. 在 [發佈選項] 對話方塊中,清除 [發佈後開啟部署網頁] 核取方塊。

自訂 ClickOnce 應用程式的預設網頁

將 ClickOnce 應用程式發佈至 Web 時,會自動產生網頁並隨著應用程式一起發佈。 預設頁面包含應用程式的名稱,以及安裝應用程式、安裝必要條件或在 MSDN 上存取說明的連結。

注意

您在頁面上看到的實際連結取決於正在其中檢視頁面的電腦,以及您包括了哪些必要條件。

網頁的預設名稱是 Publish.htm;您可以在 [專案設計工具] 中變更名稱。 如需詳細資訊,請參閱指定 ClickOnce 應用程式的發佈頁面

只有在偵測到較新版本時,才會發佈 Publish.htm 網頁。

注意

您對 [發怖] 設定所做的變更不會影響 [Publish.htm] 頁面,但有一個例外:如果您在最初發佈认後新增或移除必要條件,則必要條件清單將不再正確。 您必須編輯必要條件連結的文字,才能反映變更。

自訂發佈網頁︰

  1. 將 ClickOnce 應用程式發佈至 Web 位置。 如需詳細資訊,請參閱作法:使用發佈精靈發佈 ClickOnce 應用程式

  2. 在網頁伺服器上,於 Visual Web 設計工具或其他 HTML 編輯器中開啟 Publish.htm 檔案。

  3. 視需要自訂頁面並加以儲存。

  4. 選擇性。 若要防止 Visual Studio 覆寫自訂的發佈網頁,請取消核取 [發佈選項] 對話方塊中的 [每次發佈之後自動產生部署網頁]

發佈 ClickOnce 應用程式時,支援 URL 屬性會識別網頁或檔案共用,使用者可以在其中取得應用程式的相關資訊。 這個屬性是選擇性的;如果提供,URL 將會顯示在應用程式的 [新增或移除程式] 對話方塊中。

[支援 URL] 屬性可以在 [專案設計工具] 的 [發佈] 頁面上設定。

若要指定支援 URL︰

  1. 在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性]

  2. 按一下 [發佈] 索引標籤。

  3. 按一下 [選項] 按鈕以開啟 [發佈選項] 對話方塊。

  4. 按一下 [描述]

  5. 在 [支援 URL] 欄位中,輸入網站、網頁或 UNC 共用的完整路徑。

在 ClickOnce 部署中指定個別必要條件的支援 URL

ClickOnce 部署可以測試用戶端電腦上必須可供執行 ClickOnce 應用程式的一些必要條件。 這些相依性包括必要的 .NET Framework 最低版本、作業系統的版本,以及必須在全域組件快取 (GAC) 中預先安裝的任何組件。 不過,ClickOnce 本身無法安裝任何這些必要條件;如果找不到必要條件,它只會停止安裝並顯示一個對話方塊,說明安裝失敗的原因。

安裝必要條件的方法有兩種。 您可以使用啟動載入器應用程式來安裝它們。 或者,您也可以指定個別必要條件的支援 URL (如果找不到必要條件,則會在對話方塊上向使用者顯示此 URL)。 該 URL 所參考的頁面可以包含安裝所需必要條件的指示的連結。 如果應用程式未指定個別必要條件的支援 URL,ClickOnce 會顯示整個應用程式的部署資訊清單中指定的支援 URL (如果已定義)。

雖然 Visual Studio、Mage.exeMageUI.exe 都可以用來產生 ClickOnce 部署,但這些工具都不直接支援指定個別必要條件的支援 URL。 本文件說明如何修改部署的應用程式資訊清單和部署資訊清單,以包含這些支援 URL。

注意

在 ClickOnce for .NET Core 3.1 和 .NET 5 或更新版本中,您可以使用 [發佈] 工具來設定部署屬性,而不是 [發行精靈] 和 [專案設計工具的發佈] 頁面。 如需詳細資訊,請參閱使用 ClickOnce 部署 .NET Windows 應用程式以及 ClickOnce for .NET

指定個別必要條件的支援 URL

  1. 在文字編輯器中開啟 ClickOnce 應用程式的應用程式資訊清單 (.manifest 檔案)。

  2. 針對作業系統必要條件,將 supportUrl 屬性新增至 dependentOS 元素中:

     <dependency>
        <dependentOS supportUrl="http://www.adatum.com/MyApplication/wrongOSFound.htm">
          <osVersionInfo>
            <os majorVersion="5" minorVersion="1" buildNumber="2600" servicePackMajor="0" servicePackMinor="0" />
          </osVersionInfo>
        </dependentOS>
      </dependency>
    
  3. 如需特定通用語言執行平台版本的必要條件,請將 supportUrl 屬性新增至指定通用語言執行平台相依性的 dependentAssembly 項目中:

      <dependency>
        <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" supportUrl=" http://www.adatum.com/MyApplication/wrongClrVersionFound.htm">
          <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="4.0.30319.0" />
        </dependentAssembly>
      </dependency>
    
  4. 針對必須在全域組件快取中預先安裝之組件的必要條件,為指定必要組件的 dependentAssembly 元素設定 supportUrl

      <dependency>
        <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true" supportUrl=" http://www.adatum.com/MyApplication/missingSampleGACAssembly.htm">
          <assemblyIdentity name="SampleGACAssembly" version="5.0.0.0" publicKeyToken="04529dfb5da245c5" processorArchitecture="msil" language="neutral" />
        </dependentAssembly>
      </dependency>
    
  5. 選擇性。 針對以 .NET Framework 4 為目標的應用程式,請在文字編輯器中開啟 ClickOnce 應用程式的部署資訊清單 (.application 檔案)。

  6. 針對 .NET Framework 4 必要條件,請將 supportUrl 屬性新增至 compatibleFrameworks 元素中:

    <compatibleFrameworks  xmlns="urn:schemas-microsoft-com:clickonce.v2" supportUrl="http://adatum.com/MyApplication/CompatibleFrameworks.htm">
      <framework targetVersion="4.0" profile="Client" supportedRuntime="4.0.30319" />
      <framework targetVersion="4.0" profile="Full" supportedRuntime="4.0.30319" />
    </compatibleFrameworks>
    
  7. 手動變更應用程式資訊清單之後,您也必須使用數位憑證來重新簽署應用程式資訊清單,然後更新並重新簽署部署資訊清單。 使用 Mage.exeMageUI.exe SDK 工具來完成這項工作,因為使用 Visual Studio 重新產生這些檔案會清除您的手動變更。 如需有關如何使用 Mage.exe 來重新簽署資訊清單的詳細資訊,請參閱 < 如何:重新簽署應用程式和部署資訊清單

.NET Framework 安全性

如果應用程式標示為在部分信任中執行,則不會在對話方塊中顯示支援 URL。

變更 ClickOnce 應用程式的發佈語言

發佈 ClickOnce 應用程式時,安裝期間顯示的使用者介面預設為開發電腦的語言和文化特性。 如果您要發佈當地語系化的應用程式,您必須指定語言和文化特性,以符合當地語系化的版本。 這是由您專案的 Publish language 屬性所決定。

您可以在 [發佈選項] 對話方塊中設定 Publish language 屬性,該對話方塊可從 [專案設計工具] 的 [發佈] 窗格存取。

注意

您看到的對話方塊與功能表命令,可能會因您所使用的設定或版本,而與說明中所述不同。 若要變更您的設定,請在 [工具] 功能表上選擇 [匯入和匯出設定]。 如需詳細資訊,請參閱重設設定

變更發佈語言︰

  1. 在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性]

  2. 按一下 [發佈] 索引標籤。

    注意

    在 ClickOnce for .NET Core 3.1 和 .NET 5 或更新版本中,您可以使用 [發佈] 工具來設定部署屬性,而不是 [發行精靈] 和 [專案設計工具的發佈] 頁面。 如需詳細資訊,請參閱使用 ClickOnce 部署 .NET Windows 應用程式以及 ClickOnce for .NET

  3. 按一下 [選項] 按鈕以開啟 [發佈選項] 對話方塊。

  4. 按一下 [描述]

  5. 在 [發佈選項] 對話方塊中,從 [發佈語言] 下拉式清單中選取語言和文化特性,然後按一下 [確定]

指定 ClickOnce 應用程式的開始功能表名稱

安裝 ClickOnce 應用程式以進行線上和離線使用時,專案會新增至 [開始] 功能表和 [新增或移除程式] 清單。 根據預設,顯示名稱與應用程式元件的名稱相同,但您可以在 [發佈選項] 對話方塊中設定 [產品名稱] 來變更顯示名稱。

[產品名稱] 會顯示在 publish.htm 頁面上;如果是已安裝的離線應用程式,它會是 [開始] 功能表中的專案名稱,而且也會是 [新增或移除程式] 中顯示的名稱。

[發行者名稱] 會出現在 [產品名稱] 上方 的 publish.htm 頁面上,而針對已安裝的離線應用程式,它也會是 [開始] 功能表中包含應用程式圖示的資料夾名稱。

[開始] 功能表快捷方式或應用程式參考會在 %appdata%\Microsoft\Windows\Start Menu\Programs\<publisher name> 名稱中建立。 快捷方式或應用程式參考的名稱與產品名稱相同。

您可以在 [發行選項] 對話方塊中設定 [產品名稱] 和 [發行者名稱] 屬性 ,您可以在 [專案設計工具] 的 [發佈] 頁面上取得。

若要指定 [開始] 功能表名稱︰

  1. 在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性]

  2. 按一下 [發佈] 索引標籤。

  3. 按一下 [選項] 按鈕以開啟 [發佈選項] 對話方塊。

  4. 按一下 [描述]

  5. 在 [發佈選項] 對話方塊中,輸入要顯示在 [產品名稱] 中 的名稱。

  6. 您可以選擇性地在 [發行者名稱] 中輸入發行者名稱。

啟用 CD 安裝的 AutoStart

在透過 CD-ROM 或 DVD-ROM 等卸載式媒體來部署 ClickOnce 應用程式時,您可以啟用 AutoStart,以便在插入媒體時自動啟動 ClickOnce 應用程式。

AutoStart 可以在 [專案設計工具][發佈] 頁面上啟用。

若要啟用 AutoStart︰

  1. 選取方案總管 中的專案,然後按一下 [專案] 功能表中的 [屬性]

  2. 按一下 [發佈] 索引標籤。

  3. 按一下 [選項] 按鈕。

    [發佈選項] 對話方塊隨即出現。

  4. 按一下 [部署]

  5. 選取 [針對 CD 安裝,在插入 CD 時自動啟動安裝程式] 核取方塊。

    Autorun.inf 檔案會在應用程式發佈時複製到發佈位置。