首頁

目前文章總數:157 篇

  

最後更新:2024年 12月 07日

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

日期:2018年 10月 02日

標籤: C# Asp.NET Framework ClickOnce Windows Forms

摘要:ClickOnce


  環境: Visual Studio 2017 C# Windows Form
解決問題: ClickOnce離線安裝包如何部署應用
基本介紹:本篇分為2大部分。
第一部分:.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 的屬性設定

開啟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 完整套件
連結:官網連結


Step 6: 下載後的檔案

下載完成後得到 dotnetfx35.exe (大約231 MB) ,請使用WinRAR 進行解壓縮
※建議移到獨立的資料夾底下,如下圖


Step 7: 解壓縮後的結果

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


Step 8: 移動解壓縮後的檔案

將解壓縮後的資料 【移動】到以下位置
※每個人安裝的Visual Studio 版本不同,位置也會不一樣,我這邊是2017


Step 9: 再次發行,發現問題

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


Step 10: 還需下載語言包

檔案會有三個
連結


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 脫機安裝程序
連結


Step 4:下載語言包

語言包也必須下載 => .Net Framework 4.7.1 語言包
連結


Step 5:移動檔案-1

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


Step 6:移動檔案-2

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:移動檔案-3

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的離線安裝包被我們製作出來了