1 Wix簡介
Wix是Windows Installer XML的簡稱,其通過類XML文件格式來指定了用於創建Windows Installer安裝包數據庫的元素。關於Wix的詳細介紹,查看Wix Tutorial。
通過http://wix.codeplex.com/,我們下載最新的Wix toolset,並進行安裝。
2 1+1=2
動手實踐是感受最深的方式。下面我們就通過制作一個簡單的HelloWorld安裝包來感受一下Wix。
2.1 HelloWorld程序
我們編寫一個很簡單的C# 的HelloWorld程序。

1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 6 namespace HelloInstallerDemo 7 { 8 class Program 9 { 10 static void Main(string[] args) 11 { 12 Console.WriteLine("Hello World!"); 13 Console.ReadKey(); 14 } 15 } 16 }
編譯該程序,生成可運行程序HelloWorld.exe。
2.2 制作HelloWorld.msi安裝包
在HelloWorld.exe所在文件夾中新建一個文件Product.wxs(.wxs是Wix源文件的擴展名),然后打開該文件,填入下面源代碼

1 <?xml version="1.0" encoding="UTF-8"?> 2 <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 3 <Product Id="*" Name="HelloMSI" Language="1033" Version="1.0.0.0" Manufacturer="LEH" UpgradeCode="1de12ee7-2e94-42ac-979f-06245a0ade30"> 4 <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> 5 <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> 6 7 <Directory Id="TARGETDIR" Name="SourceDir"> 8 <Directory Id="ProgramFilesFolder"> 9 <Directory Id="INSTALLFOLDER" Name="HelloWorld"> 10 <Component Id="ProductComponent" Guid="B5F0C012-49D6-4C63-AFCA-0CE6C24C6D7D"> 11 <File Id="HelloWorld" Source="HelloWorld.exe" /> 12 </Component> 13 </Directory> 14 </Directory> 15 </Directory> 16 17 <Feature Id="ProductFeature" Title="HelloWorld" Level="1"> 18 <ComponentRef Id="ProductComponent" /> 19 </Feature> 20 </Product> 21 </Wix>
保存后,Wix源文件需要經過編譯和鏈接才能夠生成所需要的.msi文件,編譯命令為candle而鏈接命令為light,candle.exe和light.exe在安裝Wix toolset時安置在目錄C:\Program Files\WiX Toolset v3.6\bin下,將該目錄添加到系統的環境變量path中,這樣我們就可以在任何目錄下使用這兩個命令(注:修改環境變量path后需要重新系統方能生效)。下面我們進行編譯和鏈接。
首先,打開cmd,通過命令cd切換到Wix源文件所在目錄(如我的E:\Program\CSharp\HelloWorld\HelloWorld\bin\Debug);接着,通過命令candle編譯Product.wxs文件,
命令candle編譯Wix源文件.wxs生成中間文件.wixobj,然后將命令light作用在.wixobj文件上生成.msi文件,
上面light命令中-out選項指定了鏈接生成的文件名為HelloWorld.msi。下面我們查看目錄E:\Program\CSharp\HelloWorld\HelloWorld\bin\Debug,
從上圖我們可以看到,我們成功的生成了HelloWorld.msi文件。
2.3 驗收我們的成果
雙擊HelloWorld.msi文件,我們可以看到下面的安裝界面
靜等一會,當該界面消失后,表示安裝已完成,此時我們的HelloWorld.exe文件安裝在目錄C:\Program Files\HelloWorld下,
雙擊HelloWorld.exe文件,即可運行之,如圖所示,
安裝后,我們可以右鍵HelloWorld.msi來卸載。至此,我們已成功實現我們的目標。