Wix 快速开发安装包程序 5分钟构建一个最轻量的安装包程序

Posted 内心澎湃的水晶侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Wix 快速开发安装包程序 5分钟构建一个最轻量的安装包程序相关的知识,希望对你有一定的参考价值。

Wix 被广泛应用在制作安装包程序,相比于微软官方提供的安装包模板更灵活和便捷。

 

一、环境搭建:

网站地址:https://wixtoolset.org

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文件,在此基础上稍微做些修改

4. 添加安装包需要的文件

5. 使用VS 一键编译

6. 得到产物

以上是关于Wix 快速开发安装包程序 5分钟构建一个最轻量的安装包程序的主要内容,如果未能解决你的问题,请参考以下文章

Wix 快速开发安装包程序 变量和条件判断

wix的WIX简介

Dva快速入门,5分钟入门10分钟精通

WiX 刻录包安装程序 - 升级安装时未更新 ExePackage

如何使用 WiX 安装程序更改添加/删除程序名称?

如何在升级过程中运行捆绑包时,如何在WIX(Windows安装程序xml)引导程序项目中将按钮文本更改为“升级”?