使用Wix簡單製作了個安裝包

2021-10-07 16:00:58 字數 3008 閱讀 3047

之前看了好幾個打包軟體 advanceinstaller installshield什麼的, 發現大都是收費的, 看的wix還是sourceforget上停更的版本, 以為沒戲, 沒想到在github偶爾看到了wixtoolset,原來還有更新, 還有vs2019的外掛程式,趕緊下了乙個用用.終於把我的dotnetcore**打包成msi了.

下面就是wix的封裝指令碼.wxs檔案. 要安裝的東西用乙個component元素表示, 因為是網頁, 引用專案的話也拿不到他的發布路徑(publishurl),所以我這裡就都做成rar包了, 安裝過程就是把rar包放到客戶電腦上,再通過customaction執行bat指令碼, 指令碼呼叫rar.exe進行檔案解壓. 然後使用nssm將core**註冊為windows服務,mysql資料庫也是同理. 解除安裝前則需要執行指令碼像將註冊的**和mysql服務刪除掉,解除安裝的指令碼需要等待完成才能執行檔案刪除,所以action裡是 return="ignore",執行bat不知道怎麼返回成功,所以得用ignore, 如果用了check就會變成解除安裝事故,無法解除安裝了(別問我是怎麼知道的)...

安裝程式的風格用的是 表示只有license宣告和修改安裝路徑兩大介面.

宣告的文字在這句裡

然後安裝路徑介面把路徑傳入乙個屬性property裡,這個元素的id要求是wixui_installdir, 他的value這是目錄宣告的directory的id

然後整個安裝包只有msi沒有cab檔案靠的是這一句 

<?xml version="1.0" encoding="utf-8"?>

(remove~="all") and (not upgradingproductcode)

not installed

mysql壓縮包解壓後 呼叫 mysqld install 就能註冊服務並啟動, 呼叫mysqld remove 則把服務刪除,非常方便.可以把自己的空資料和改好的資料庫密碼先弄好再打成壓縮包, 就不用執行初始化sql指令碼了.

nssm註冊服務則需要找到 客戶的dotnetcore安裝路徑(在cmd 輸入 where dotnet 就能獲取到了(可能有32和64兩個位置)).

安裝bat如下

echo install sucess在網上找到了關於wix 的書 <>

網盤 提取碼 egmx

用WIX製作安裝包

1 需要打包的檔案,目錄層級很多,檔案數量也很多 甚至有幾萬個 沒法手工寫wxs安裝檔案 解決辦法是呼叫heat命令列,自動生成wxs檔案。heat.exe dir help cg oemhelpfilescomponents dr oemhelpfilesfolder sreg srd varva...

利用WIX製作安裝包 2

利用wix製作安裝包 2 原文 利用wix製作安裝包 2 在wixui featuretree dialog set中一共包含了如下幾種dialog。first time install dialog sequence wixui welcomedlg wixui licenseagreementd...

筆記 WiX製作msi安裝包的例子

wix是製作msi安裝檔案的工具,看了半天文件,感覺沒有什麼比乙個例子更簡單粗暴的了。xml version 1.0 encoding utf 8 wix xmlns product id name hellomsi language 1033 version 1.0.0.0 manufacture...