您可以在 [項目設計工具] 的 [發佈] 頁面上,或使用 [發佈精靈] 來設定 ClickOnce 發佈屬性。 在本文中,您將瞭解如何指定發佈位置、安裝 URL、在線或離線安裝模式,以及發行版本等屬性。
備註
在 ClickOnce for .NET Core 3.1 和 .NET 5 或更新版本中,您可以使用 [發佈] 工具來設定部署屬性,而不是 [發行精靈] 和 [項目設計工具的發佈] 頁面。 如需詳細資訊,請參閱使用 ClickOnce 和 ClickOnce for .NET部署 .NET Windows 應用程式。
指定發佈位置
當您使用 ClickOnce 發佈應用程式時, Publish Location 屬性會指定放置應用程式檔案和指令清單的位置。 這可以是磁碟驅動器路徑 (C:\deploy\myapplication)、檔案共用 (\\server\myapplication) 或 FTP 伺服器 (ftp://ftp.microsoft.com/myapplication)。 請注意,文字必須出現在 [ 發佈位置] 方塊中,才能讓流覽按鈕運作。
您可以在 Publish Location工具] 的 [發佈] 頁面上,或使用 [發佈精靈] 來指定 屬性。 如需詳細資訊,請參閱 如何:使用發佈精靈發佈 ClickOnce 應用程式。
備註
當您使用 ClickOnce 安裝多個應用程式版本時,安裝會將舊版應用程式移至您指定的發佈位置中名為 Archive 的資料夾。 以這種方式封存舊版,可讓安裝目錄從舊版中清除資料夾。
在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性] 。
點擊 發佈 標籤。
在 [ 發佈位置] 欄位中,使用下列其中一種格式輸入發佈位置:
若要發佈至檔案共享或磁碟路徑,請使用 UNC 路徑 (\\Server\ApplicationName) 或檔案路徑 (C:\Deploy\ApplicationName) 輸入路徑。
若要發佈至 FTP 伺服器,請使用 /<ApplicationName> 格式輸入路徑ftp://ftp.microsoft.com。
請注意,文字必須出現在 [ 發佈位置] 方塊中,才能讓 [流覽] 按鈕運作。
指定使用者從中安裝的位置
發佈 ClickOnce 應用程式時,用戶要下載並安裝應用程式的位置不一定是您一開始發佈應用程式的位置。 例如,在某些組織中,開發人員可能會將應用程式發佈至預備伺服器,然後系統管理員會將應用程式移至 Web 伺服器。
在此情況下,您可以使用 Installation URL 屬性來指定使用者將前往下載應用程式的 Web 伺服器。 這是必要的,讓應用程式指令清單知道要在哪裡尋找更新。
屬性Installation URL可以在項目設計工具的 [發佈] 頁面上設定。
備註
Installation URL您也可以使用 PublishWizard 來設定 屬性。 如需詳細資訊,請參閱 如何:使用發佈精靈發佈 ClickOnce 應用程式。
指定安裝 URL
在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性] 。
點擊 發佈 標籤。
在 [安裝 URL] 字段中,使用格式的完整 URL,或使用 格式
https://www.contoso.com/ApplicationName輸入安裝位置,或使用 格式\Server\ApplicationName輸入 UNC 路徑。
指定 ClickOnce 離線或線上安裝模式
Install Mode ClickOnce 應用程式的設定會決定應用程式是否可供離線或線上使用。 當您選擇 [應用程式僅供在線使用] 時,用戶必須能夠存取 ClickOnce 發佈位置(網頁或檔案共用),才能執行應用程式。 當您選擇 [ 應用程式可供離線使用] 時,應用程式也會將專案新增至 [ 開始 ] 功能表和 [ 新增或移除程式 ] 對話方塊;用戶能夠在未連線時執行應用程式。
Install Mode可以在 [項目設計工具] 的 [發佈] 頁面上設定 。
備註
Install Mode也可以使用 [發佈精靈] 來設定 。 如需詳細資訊,請參閱 如何:使用發佈精靈發佈 ClickOnce 應用程式。
讓 ClickOnce 應用程式只能在在線使用
在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性] 。
點擊 發佈 標籤。
在 [ 安裝模式和設定 ] 區域中,按兩下 [只有在線可用的應用程式] 選項按鈕。
讓 ClickOnce 應用程式在線上或離線使用
在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性] 。
點擊 發佈 標籤。
在 [ 安裝模式和設定] 區域中,按兩下 [ 應用程式可供離線 使用] 選項按鈕。
安裝時,應用程式會將專案新增至 [ 開始 ] 功能表,以及 [控制面板] 中的 [新增或移除程式 ]。
設定 ClickOnce 發佈版本
ClickOnce Publish Version 屬性會決定您要發行的應用程式是否會被視為更新。 每次遞增版本時,應用程式都會發佈為更新。
屬性Publish Version可以在項目設計工具的 [發佈] 頁面上設定。
變更版本號碼時,應用程式會發佈為更新。 發行版本的每個部分(主要、 次要、 組建、 修訂)可以有最大值 65535 (MaxValue),允許 Version的最大值。
當您使用 ClickOnce 安裝多個應用程式版本時,安裝會將舊版應用程式移至您指定的發佈位置中名為 Archive 的資料夾。 以這種方式封存舊版,可讓安裝目錄從舊版中清除資料夾。
備註
項目選項會在每次發佈應用程式時自動遞增 Publish Version 屬性;此選項預設為啟用。 如需詳細資訊,請參閱 自動遞增 ClickOnce 發行版本。
變更發行版本
在 [方案總管] 中選取專案時,單擊 [ 專案 ] 功能表上的 [ 屬性]。
點擊 發佈 標籤。
在 [發行版本] 字段中,遞增 [主要]、 [次要]、[ 組建] 或 [ 修訂 版本號碼]。
備註
您絕對不應該遞減版本號碼;這樣做可能會導致無法預測的更新行為。
自動遞增 ClickOnce 發佈版本
發佈 ClickOnce 應用程式時,變更 Publish Version 屬性會導致應用程式發佈為更新。 根據預設,Visual Studio 每次發佈應用程式時會自動增加 Revision 的 Publish Version 編號。
您可以在 [項目設計工具] 的 [發佈] 頁面上停用此行為。
備註
您看到的對話框和功能表命令可能會與您使用中的設定或版本而定,說明中所述的對話框和功能表命令可能會有所不同。 若要變更您的設定,請選擇 [[工具] 功能表上的 [匯入和導出設定]。 如需詳細資訊,請參閱 重設設定。
停用自動遞增發行版本
在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性] 。
點擊 發佈 標籤。
在 發行版本 區段中,取消選取 每次發行時自動增加修訂版號 的複選框。
指定 ClickOnce 應用程式的發佈頁面
發行 ClickOnce 應用程式時,會產生預設的網頁(publish.htm),並與應用程式一起發佈。 此頁面包含應用程式的名稱、安裝應用程式和/或任何必要條件的連結,以及描述 ClickOnce 的說明主題連結。 專案的 [發佈頁面 ] 屬性可讓您為 ClickOnce 應用程式指定網頁的名稱。
指定發佈頁面之後,下次發佈時,就會將它複製到發佈位置;如果您再次發佈,則不會覆寫它。 如果您想要自定義頁面的外觀,您可以這麼做,而不必擔心遺失變更。 如需詳細資訊,請參閱 自定義 ClickOnce 預設網頁。
您可以在 [發佈選項] 對話框中設定 [發佈頁面] 屬性,可從 [項目設計工具] 的 [發佈] 窗格存取。
若要指定 ClickOnce 應用程式的自訂網頁:
在 [方案總管] 中選取專案時,單擊 [ 專案 ] 功能表上的 [ 屬性]。
選取 [ 發佈] 窗格。
按兩下 [ 選項] 按鈕以開啟 [ 發佈選項 ] 對話框。
按一下 Deployment。
在 [ 發佈選項 ] 對話框中,確定已選取 [ 發佈后開啟部署網頁] 複選框(預設應選取)。
在 [ 部署網頁] 方塊中,輸入您的網頁名稱,然後按兩下 [ 確定]。
若要避免在每次發佈時打開發佈頁面:
在 [方案總管] 中選取專案時,單擊 [ 專案 ] 功能表上的 [ 屬性]。
選取 [ 發佈] 窗格。
按兩下 [ 選項] 按鈕以開啟 [ 發佈選項 ] 對話框。
按一下 Deployment。
在 [ 發佈選項 ] 對話框中,清除 [發佈后開啟部署網頁] 複選框。
自定義 ClickOnce 應用程式的預設網頁
將 ClickOnce 應用程式發佈至 Web 時,會自動產生網頁並隨著應用程式一起發佈。 默認頁面包含應用程式的名稱,以及安裝應用程式、安裝必要條件或存取 MSDN 說明的連結。
備註
您在頁面上看到的實際連結取決於正在檢視頁面的計算機,以及您包含哪些必要條件。
網頁的預設名稱 為Publish.htm;您可以在 項目設計工具中變更名稱。 如需詳細資訊,請參閱 指定 ClickOnce 應用程式的發佈頁面。
只有在偵測到較新版本時, 才會發佈Publish.htm 網頁。
備註
您對 [發佈 ] 設定所做的變更不會影響 [Publish.htm] 頁面,但有一個例外:如果您在最初發佈后新增或移除必要條件,則必要條件清單將不再正確。 您必須編輯必要條件連結的文字,以反映變更。
若要自訂發佈網頁:
將 ClickOnce 應用程式發佈至 Web 位置。 如需詳細資訊,請參閱 如何:使用發佈精靈發佈 ClickOnce 應用程式。
在網頁伺服器上,在 Visual Web Designer 或其他 HTML 編輯器中開啟 Publish.htm 檔案。
視需要自定義頁面並加以儲存。
選擇性。 若要防止 Visual Studio 覆寫自定義的發佈網頁,請取消核取 [發佈選項] 對話方塊中每次發佈之後自動產生部署網頁。
指定技術支持的連結
發佈 ClickOnce 應用程式時, 支援 URL 屬性會識別網頁或檔案共用,用戶可以在其中取得應用程式的相關信息。 這個屬性是選擇性的;如果提供,URL 將會顯示在應用程式的 [ 新增或移除程式 ] 對話框中。
[支援 URL] 屬性可以在 [項目設計工具] 的 [發佈] 頁面上設定。
若要指定支援網址:
在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性] 。
點擊 發佈 標籤。
按兩下 [ 選項] 按鈕以開啟 [ 發佈選項 ] 對話框。
按兩下 [描述]。
在 [ 支援 URL] 字段中,輸入指向網站、網頁或 UNC 共用的完整合格路徑。
在 ClickOnce 部署中為個別必要條件指定支援的 URL
ClickOnce 部署可以檢測用戶端電腦上是否具備 ClickOnce 應用程式運行所需的必要條件。 這些相依性包括必要的 .NET Framework 最低版本、操作系統的版本,以及必須在全域組件快取中預安裝的任何元件(GAC)。 不過,ClickOnce 無法自行安裝任何必要條件;如果找不到必要條件,則只會停止安裝,並顯示對話框,說明安裝失敗的原因。
安裝必要條件的方法有兩種。 您可以使用啟動載入器應用程式來安裝它們。 或者,您可以指定個別必要條件的支援 URL,如果找不到必要條件,則會在對話框中向用戶顯示此 URL。 該 URL 所參考的頁面可以包含安裝必要條件之指示的連結。 如果應用程式未指定個別必要條件的支援 URL,而整個應用程式的部署指令清單中已定義支援 URL,則 ClickOnce 會顯示該支援 URL。
雖然 Visual Studio、 Mage.exe和 MageUI.exe 都可以用來產生 ClickOnce 部署,但這些工具都不支援直接支援指定個別必要條件的支援 URL。 本文件說明如何修改部署的應用程式指令清單和部署指令清單,以包含這些支援URL。
備註
在 ClickOnce for .NET Core 3.1 和 .NET 5 或更新版本中,您可以使用 [發佈] 工具來設定部署屬性,而不是 [發行精靈] 和 [項目設計工具的發佈] 頁面。 如需詳細資訊,請參閱使用 ClickOnce 和 ClickOnce for .NET部署 .NET Windows 應用程式。
指定個別必要條件的支援網址
在文本編輯器中開啟 ClickOnce 應用程式的應用程式指令清單( .manifest 檔案)。
針對作業系統的必要條件,將
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>如需特定版本的 Common Language Runtime 的必要條件,請將
supportUrl屬性新增至dependentAssembly條目中,以指明 Common Language Runtime 的相依性。<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>對於必須在全域組件快取中預安裝的組件,請為
supportUrl元素設定dependentAssembly以指定所需的組件。<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>選擇性。 針對以 .NET Framework 4 為目標的應用程式,請在文本編輯器中開啟 ClickOnce 應用程式的部署指令清單( .application 檔案)。
針對 .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>手動變更應用程式指令清單之後,您也必須使用數位證書重新簽署應用程式指令清單,然後更新並重新簽署部署指令清單。 使用 Mage.exe 或 MageUI.exe SDK 工具來完成這項工作,因為使用 Visual Studio 重新產生這些檔案會清除您的手動變更。 如需使用 Mage.exe 重新簽署指令清單的詳細資訊,請參閱 如何:重新簽署應用程式和部署指令清單。
.NET Framework 安全性
如果應用程式標示為在部分信任中執行,則不會在對話框中顯示支援URL。
備註
在適用於 .NET Core 和 .NET 5 或更新版本的 ClickOnce 中,不支援需要程式代碼存取安全性的部分信任。 在 .NET Framework 中,使用程式代碼存取安全性不是最佳做法,不建議使用。
變更 ClickOnce 應用程式的發佈語言
發佈 ClickOnce 應用程式時,安裝期間顯示的使用者介面預設為開發計算機的語言和文化特性。 如果您要發佈本地化的應用程式,您必須指定語言和文化特性,以符合本地化的版本。 這是由 Publish language 您項目的 屬性所決定。
屬性Publish language可以在 [發佈選項] 對話框中設定,可從 [項目設計工具] 的 [發佈] 頁面存取。
備註
您看到的對話框和功能表命令可能會與您使用中的設定或版本而定,說明中所述的對話框和功能表命令可能會有所不同。 若要變更您的設定,請選擇 [[工具] 功能表上的 [匯入和導出設定]。 如需詳細資訊,請參閱 重設設定。
若要變更發佈語言:
在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性] 。
點擊 發佈 標籤。
備註
在 ClickOnce for .NET Core 3.1 和 .NET 5 或更新版本中,您可以使用 [發佈] 工具來設定部署屬性,而不是 [發行精靈] 和 [項目設計工具的發佈] 頁面。 如需詳細資訊,請參閱使用 ClickOnce 和 ClickOnce for .NET部署 .NET Windows 應用程式。
按兩下 [ 選項] 按鈕以開啟 [ 發佈選項 ] 對話框。
按兩下 [描述]。
在 [ 發佈選項 ] 對話框中,從 [ 發佈語言 ] 下拉式清單中選取語言和文化特性,然後按兩下 [ 確定]。
指定 ClickOnce 應用程式的 [開始] 選單名稱
安裝 ClickOnce 應用程式以進行線上和離線使用時,專案會新增至 [ 開始 ] 選單和 [ 新增或移除程式 ] 清單。 根據預設,顯示名稱與應用程式元件的名稱相同,但您可以在 [發佈選項] 對話框中設定 [產品名稱] 來變更顯示名稱。
產品名稱 會顯示在 [publish.htm] 頁面上;針對已安裝的離線應用程式,它會是 [ 開始 ] 選單中的專案名稱,也會是 [ 新增] 或 [移除程式] 中所顯示的名稱。
發行者名稱會出現在 [產品名稱] 上方的 [publish.htm] 頁面上,而且針對已安裝的離線應用程式,它也會是 [開始] 選單中包含應用程式圖示的資料夾名稱。
[開始功能表] 捷徑或應用程式捷徑會在 \%appdata%\Microsoft\Windows\Start Menu\Programs\<發行者名稱>中建立。 快捷方式或應用程式參考的名稱與產品名稱相同。
您可以在 [發行選項] 對話框中設定 [產品名稱] 和 [發行者名稱] 屬性,您可以在 [項目設計工具] 的 [發佈] 頁面上取得。
若要指定 [開始] 選單名稱:
在方案總管 中選取專案之後,按一下 [專案] 功能表中 [屬性] 。
點擊 發佈 標籤。
按兩下 [ 選項] 按鈕以開啟 [ 發佈選項 ] 對話框。
按兩下 [描述]。
在 [ 發佈選項 ] 對話框中,輸入要顯示在 [產品名稱] 中的名稱。
您可以選擇性地在發行者名稱中輸入發行者名稱。
啟用CD安裝的自動啟動
透過卸載式媒體,例如 CD-ROM 或 DVD-ROM 部署 ClickOnce 應用程式時,您可以啟用 AutoStart ,以便在插入媒體時自動啟動 ClickOnce 應用程式。
AutoStart可以在 [項目設計工具] 的 [發佈] 頁面上啟用。
若要啟用 AutoStart:
在 [方案總管] 中選取專案時,單擊 [ 專案 ] 功能表上的 [ 屬性]。
點擊 發佈 標籤。
按一下 [選項] 按鈕。
[ 發佈選項 ] 對話框隨即出現。
按一下 Deployment。
選取 [ 針對 CD 安裝],在插入 CD 時自動啟動安裝程式 複選框。
當應用程式發佈時, Autorun.inf 檔案將會複製到發佈位置。