的分享,都是為了搞懂WixToolset裡面基本功能,
接下來是我們要介接WPF的"中介功能",
WixToolset的 Bootstrapper
雖然他不只是中介而已XD,
我們新增一個Bootstrapper專案 "DemoUse.Bootstrapper"
我們打開唯一的Bundle.wxs檔看一下
內容很像我們在安裝包裡面的Product.wxs
但裡面要丟的東西是指我們打包好的安裝檔,
當然Todo的意思是就是其他.msi檔也可以一起放入,
也就是安裝集合工具的意思!
先將我們的安裝檔給參考進去
然後我們加入這段在Chain標籤內
<MsiPackage Id="DemoInstaller"
SourceFile="$(var.DemoUse.Installer.TargetDir)DemoUse.Installer.msi"
Compressed="yes" DisplayInternalUI="yes" Visible="yes" />
DisplayInternalUI這個看就知道是說要不要顯示UI介面,之後我們要改成WPF的情況下,就要改成no
而上面的Manufacturer也要記得填寫,不然會出錯!
就像這樣↓↓↓
都設定好了以後,這次我們用Bootstrapper專案建置的來看結果。
他會先顯示Bootstrapper 的頁面
打勾同意後會跳出我們Demo的安裝包
我們安裝到底了以後去新增移除程式看一下
若直接移除Bootstrapper的情況下,
底下的DemoUse.Installer也會一併移除,
但這個在我只把它當作WPF的中介工具時感覺並不是那麼美好,
畢竟我目前也只有一個安裝程式,
出現兩個就會有一種多此一舉的感覺
所以我們在Bundle後面加上兩個參數
DisableModify="yes" DisableRemove="yes"
再次安裝後,就只剩下我們目前的安裝程式了!
在安裝時若沒有隱藏掉Bootstrapper,
安裝後,如果用菜單的移除按鈕,
是只有Installer的程式被移除掉唷!
那如果你有多個msi檔,然後想做一鍵移除所有的安裝包,
就必須要額外將Bootstrapper移除的功能加進菜單,
恩~我想內建應該也會有這個功能...
只是我沒用到XD所以我沒研究了,哈哈!
Day19程式碼
https://github.com/Aslan7826/defaultMVC/commits/Day19