WiX是Windows Installer XML的簡稱,它是用于制作Windows安裝包的工具集。它支援指令行環境,開發者可以及将它內建到他們的編譯過程中建立MSI和MSM安裝包。
最近研究了一下如何使用WiX制作具有時間限制的安裝包,下圖是demo的效果圖。

完成這個demo主要有兩點值得注意:
1. 選擇合适的腳本語言(VBScript or JScript)實作定制操作。
2. 選擇合适的實際執行上面的腳本。
下面分享我的實作過程:
1. 實作一段檢查目前時間是否越界的腳本代碼,并将它封裝到CustomAction中。
使用VBScript比較目前日期和限定日期,小于0表示越界,這時調用WScript想系統資料庫添加壞鍵。
2. 選擇合适的時機執行上述腳本,越早越好。
在本文的demo中,我在PrepareDlg之前執行腳本,對于大多數情況而言,這已經是最早的時機了。當然,你也可以選擇在AppSearch之前執行。
3. 添加一個RegistrySearch屬性,用于第一步提到的壞鍵。
4. 添加Condition用于檢查第三步添加的屬性是否存在,并在需要的時候彈出錯誤資訊。
5. 實作一個清除操作,用于清除第一步添加的壞鍵。
6. 在FatalError對話框中釋出Finish事件,同時将值設定給第五步提到的清除操作。
到這裡就完成,代碼很簡單,希望有價值。
源碼下載下傳位址如下:
<a href="http://gcdn.grapecity.com/attachment.aspx?attachmentid=1533">TimeLimit.rar</a>