WiX是一套用來封裝應用程式檔案成安裝檔(*.msi)的工具,它提供Visual Stuio專案樣板和編譯工具,讓開發人員在Visual Studio編輯完WiX所支援的XML格式設定檔(*.wxs)後,可以透過建置功能打包應用程式檔案。在前一間公司任職時,也是使用WiX並整合至CI Server進行自動化封裝。然而在設定上,WiX主要還是透過編輯XML設定檔來完成,相當不親民。
封裝機制其實VS也有內建專案樣板可以使用,也提供精美的編輯畫面,小巧好用且操作不難,我在最近一個小型的Windows Forms專案中,也嘗試使用這內建的封裝功能,以避免XML檔案編輯地獄,一開始效果還不錯,當要給測試人員測試時,我只要編譯一下方案檔來產出安裝檔送出去就好了。但在我試著把它整合至CI Server(Jenkins)中時卻發現MSBuild工具無法編譯*.vdproj專案檔,雖然有國外網友提出使用devenv.exe對整個方案檔做編譯來解決這個問題,但因為不打算在CI Server上安裝VS,所以我又回到了使用WiX。
以上全是題外話,和主題無關。既然再回到WiX的懷抱,就要想辦法爬出XML編輯地獄,所以找到了兩款WiX編輯器來輔助開發。
WiXEdit
WiXEdit是一套免費的WiX編輯器,目前的版本為0.7.5,不過它已經兩年多沒發佈新版本了。透過WiXEdit提供的GUI,可以輕鬆地選擇要加入封裝的檔案或資料夾。不過在使用上發現有個小缺點,就是右側的屬性是要自己手動去選擇新增。
SharpDevelop
SharpDevelop事實上不只是一套WiX編輯器,而是一套完整又開源的.NET開發工具,且目前仍持續在更新。相較於WiXEdit,SharpDevelop的GUI較為精美,操作上相對流暢,也不用自行新增屬性,SharpDevelop會自動載入可以設定的屬性名稱。
SharpDevelop也有內建的WiX專案樣板,如果不想在VS編輯WiX設定檔,也可以直接在SharpDevelop建立WiX專案開發。有興趣的朋友可參考WiX Integration這篇文章在SharpDevelop上建立自己的WiX專案,雖然文章已是七年前但設定沒有太大的差別。
這兩套工具我並沒有玩得很深入,因為目前的需求只要能把檔案封裝成MSI檔即可,所以基本上使用到的功能只有加入檔案或資料夾、設定桌面捷徑及開始選單捷徑、移除程式捷徑、網頁捷徑等。諸如安裝畫面客製化,安裝前後執行特定指令等功能尚未接觸到。
No comments:
Post a Comment