0032. ClickOnce - 離線安裝包製作方式 - 從應用程式的相同位置下載必要條件,正確部署方法 (.Net FrameWork 2.0、3.0、3.5、4.7.1)

C#學習筆記 - ClickOnce

環境

Visual Studio 2010 ~ 2017 - Windows Form  

解決問題:

1. ClickOnce離線安裝包如何部署應用

本篇分為二部分:
一、 .Net FrameWork 2.0 + 3.0 + 3.5 離線安裝包部署過程
二、 .Net FrameWork 4.7.1 離線安裝包部署過程(含4.0~4.7間)

一、 .Net FrameWork 2.0 + 3.0 + 3.5 離線安裝包部署過程


Step 1: 開啟Visual Studio 的屬性 -> 發行 -> 必要條件

Step 2:

a. 打勾【建立安裝程式安裝必要條件元件】 

b.【.Net Framework 3.5 SP1】 

c. 打勾【從應用程式的相同位置下載必要條件】

d. 確定

※ 3.5 SP1 整合 2.0 + 3.0 + 3.5 的版本

Step 3:按下立即發行後,可以發現一堆錯誤,這是因為.Net Framewrok在本機電腦裡面沒有離線安裝包的資料

所以有大量錯誤

Step 4:我這邊安裝的是Visaul Studio 2017 版本所以目錄在 : C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages ,可以發現裡面沒有對應的資料夾

以下是對應的目錄表

Visual Studio 版本

ClickOnce 離線安裝包存放對應位置

2017 C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages
2015 C:\Program Files (x86)\Microsoft Visual Studio 14.0\SDK\Bootstrapper\Packages\
2013 C:\Program Files (x86)\Microsoft SDKs\Windows\v8.1A\Bootstrapper\Packages\
2010 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\
2008 C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\

Step 5: 前往微軟下載 .Net Framework 3.5 SP1 完整套件

連結: https://www.microsoft.com/zh-cn/download/details.aspx?id=25150

Step 6:下載完成後得到  dotnetfx35.exe  (大約231 MB)  ,請使用WinRAR 進行解壓縮

※建議移到獨立的資料夾底下,如下圖

Step 7:解壓縮完成後,可以得到 \\dotnetfx35\\wcu\\dotNetFramework  資料夾內的資料,如下圖

Step 8:將解壓縮後的資料 【移動】到以下位置

※每個人安裝的Visual Studio 版本不同,位置也會不一樣,我這邊是2017

Step 9:再次進行發行,仍會發現有錯誤,這是因為尚缺少語言安裝包

Step 10:還需下載語言包 ,檔案會有三個

連結: https://www.microsoft.com/zh-cn/download/details.aspx?id=21891

Step 11:檔案下載後,會如下圖

Step 12:請照下方建立資料夾

※語言包的放法很特別,【繁體語言】需要放在 zh-Hant資料夾底下 ,【簡體語言】需要放在zh-Hans 底下,這邊範例為【繁體語言】

Step 13:存放檔案的結果應為如下

目錄

存放檔案

C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX35SP1\zh-Hant\dotnetfx35\x64 dotnetfx35langpack_x64zh-cht.exe
C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX35SP1\zh-Hant\dotnetfx35\x86 dotnetfx35langpack_x86zh-cht.exe

Step 14: 最後可以正確的發行程式,並且有離線安裝包 donetfx35sp1


二、 .Net FrameWork 4.7.1 離線安裝包部署過程(含4.0~4.7間)


.net 3.5 sp1 是比較特別的版本,需要自行建立資料夾存放語言包而 4.0 ~ 4.7.1 之間,只需要存放相同位置底下的檔案,離線安裝包即可完成。

以下是4.7.1 作為範例,進行離線安裝包的部署。

 

Step 1:  必要條件打勾 Microsoft.NET Framework4.7.1 (x86 和 x64)

Step 2: 發行後可以看到發現錯誤。這是很正常的,因為4.7.1 還需要從微軟的官方網站下載,並且移動到本機 

Step 3: 前往微軟下載 .Net Framework 4.7.1 脫機安裝程序

連結: https://www.microsoft.com/zh-cn/download/details.aspx?id=56116

Step 4: 語言包也必須下載  => .Net Framework 4.7.1 語言包

連結: https://www.microsoft.com/zh-cn/download/details.aspx?id=56117

Step 5: 下載完成後,會有以下兩個檔案,我們要進行移動:

NDP471-KB4033342-x86-x64-AIIOS-CHT.exe

NDP471-KB4033342-x86-x64-AIIOS-ENU.exe

Step 6: NDP471-KB4033342-x86-x64-AIIOS-ENU.exe 移動到以下位置

目錄

存放檔案

C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX471 NDP471-KB4033342-x86-x64-AIIOS-ENU.exe

Step 7:  NDP471-KB4033342-x86-x64-AIIOS-CHT.exe 移動到以下位置

目錄

存放檔案

C:\Program Files (x86)\Microsoft SDKs\ClickOnce Bootstrapper\Packages\DotNetFX471\zh-Hant NDP471-KB4033342-x86-x64-AIIOS-CHT.exe

Step 8: 再次進行發行,就可以發現 dotnetfx471的離線安裝包被我們製作出來了