發表文章

目前顯示的是 十二月, 2019的文章

使用WIX建立Window安裝程式 - 包含.Net Framework

圖片
前言    此篇是接續,前一篇[使用WIX建立Window安裝程式 - 基本安裝],本文要來介紹如何在安裝時,順便將離線檔的.Net 4.8也順便安裝好。
建立Bootstraper安裝專案 1.選擇專案樣板:Bootstrapper Project for Wix v3。此專案用來將多個安裝專案及必要條件,作封裝用。
2.加入應用程式專案、前一篇建立的Setup,以及相關extension參考,如下圖的(1)
另外圖的第2點Resources目錄下有一個.net 4.8的離線安裝程式,等會我們會把它封裝入安裝程式內。ps:此檔案不會在Github的原始檔內,因為檔案太大無法簽入。需要的話請另外下載
3.打開Bundle.wxs,修改如下圖,此為部份設定,完整的請參考Github的完整程式。關於此檔案的設定,實現的功能如下: PackageGroup : 指定.net framework 4.8的檢查條件及安裝來源、命令等。 Chain : 設定安裝順序,本例:先安裝.net 4.8後再安裝Setup.msi。


設定完畢後,按建置會產出一個Setup.exe檔案,此檔案已含安裝程式.msi及.net 4.8安裝程式,安裝畫面如下: 用戶端沒有安裝.Net 4.8的話,會先安裝: 安裝完畢後,若此次有安裝.Net4.8,會要求重新開機。 若本來已有的話,則會出現Launch 按鈕。

參考連結 Sample (主要參考) http://www.shisujie.com/blog/WiX-ToolsetIndex Bootstraper theme Sample https://www.shisujie.com/blog/Install-the-dotNet-Framework-Using-Burn

使用WIX建立Window安裝程式 - 基本安裝

圖片
前言    目前有一支.Net 4.8的Window程式,要讓使用者下載來安裝。在安裝過程,若用戶端沒有安裝.Net 4.8的話,也要在安裝過程中一併加入。關於.Net Framwork的安裝,以個人之前的經驗, 若採用線上安裝的話,在某些情況下,常會發生一些奇怪的問題(例如:防火牆、網路中斷等),而導致安裝失敗。所以打算用離線的安裝來解決此問題。
一開始是使用Visual Studio傳統的安裝專案,但封裝後的安裝檔,在給使用者安裝,沒那麼直覺,它會產出2個檔案: Setup.msi : 主要的應用程式安裝,若不考慮.net的執行條件的話,可以直接使用這個安裝。 Setup.exe : 會先檢查必要條件後,例:.net 4.8。再進行msi的安裝。 上述,勢必要先作一個壓縮檔,給使用者下載後,再解壓縮來安裝才行。
WIX Setup
研究相關的安裝工具後,找到Wix這個不錯的安裝工具,它是透過XML格式定義安裝元表,並在Visual Studio有對應支援的專案樣板。開始必須先安裝如下:
專案樣板 : Wix Toolset Visual Studio 2019 Extension SDK :https://github.com/wixtoolset/wix3/releases/download/wix3112rtm/wix311.exe 安裝後的路徑:C:\Program Files (x86)\WiX Toolset v3.11\bin\ 程式要參考的dll位置。 建立第一個安裝專案 1.選擇專案樣板: Setup Project for Wix v3。主要的安裝專案,輸出msi 。不考慮安裝.net framework的話,可以直接用這個。
2.加入應用程式專案參考,本例為WpfApp
3.加入Wix Extension參考,本例參考WixUIExtension,瀏覽路徑:C:\Program Files (x86)\WiX Toolset v3.11\bin\
4.打開Product.wxs,修改如下圖,此為部份設定,完整的請參考Github的完整程式。關於此檔案的設定,實現的功能如下: 開始功能表及桌面捷近。 開機後馬上執行。 基本的安裝畫面。例如:License 同意。
ps:關於各個設定的指令,本文不多作介紹,想瞭解的請參考官方說明
設定完畢後,按建…