Wix 被广泛应用在制作安装包程序,相比于微软官方提供的安装包模板更灵活和便捷。
一、环境搭建:
1. 安装Wix,必备
2. 安装VS 扩展,根据自己使用的VS版本下载相应的扩展。可选,为了方便的使用VS创建wix工程并编译。
二、安装包目标应用程序:
目的:安装一个exe ,一个dll,一个pdf文件
制作流程:
1. 编写符合wix规范的一份wxs类型的文件
2. 使用命令编译中间产物
candle.exe SampleFirst.wxs
3. 使用命令得到最终产物
light.exe SampleFirst.wixobj
产物:
三、最基本的元素介绍
1. Product 元素
Product 元素主要描述安装后的应用程序的信息。它需要两个唯一的GUID
Id:即product code,代表一个 UpgradeCode: 代表一个产品,相同产品安装包不需要再修改这个GUID 剩下的信息主要显示在控制面板里,参照如下:
2. Package 元素
Package元素主要是描述安装包本身的信息,它有个比较重要的Id属性,只要不同安装包都需要一个唯一的GUID。
wix为了方便允许使用*代表GUID,编译时会被替换成GUID。
还有一些描述信息如下:
3. Component 元素
Component元素主要代表安装的文件,它需要一个唯一的GUID。
一个Component元素可以包含一个File元素,一个File可以指向一个文件,用Source属性标记这个文件的位置。
安装包编译后会将文件打包进安装包,安装包负责安装文件。
我们可以这样一条一条的罗列出需要安装的文件,整理出一组Component元素。
这一组安装的文件需要放到用户的机器上的某个文件夹下面,如果需要在wix里面写好,可以参考这个嵌套顺序写:
TARGETDIR > ProgramFilesFolder > xxx > xxx > ... ProgramFilesFolder 是一个内建关键字,代表用户机器的C盘下的ProgramFiles文件夹举例:
TARGETDIR > ProgramFilesFolder > AcmeSoftWareFolder > Foobar 1.0
安装好之后的目录如下:
可以看到和之前我们在wxs文件里面写的结构一致。
还需要注意,要使用 ComponentRef 的Id属性引用刚才的Component, 并且包在 Feature 元素里,安装包才会装这些Component
四、VS创建安装包程序工程:
1. 打开VS,新建一个wix 工程
2. VS已经帮我们创建好了基本的wxs文件
3. 现在只需要使用VS 即可编译,省去了刚才麻烦的命令。