WIX】的更多相关文章

最近有个项目需要生成一个自动打包安装App和数据库的MSI文件,经同事推荐WIX,于是乎就试了一试.遇到了一些问题觉得有分享的价值,所以写篇博客记录一下 :) 使用感觉: WIX特点:功能很强大,用XML配置实现,没有界面,弹性很大,但learning curve比较长. WIX貌似对LocalDB不支持,如果是其它版本的SQL Server,WIX有内置配置支持,很简单. 问题一: WIX内置不支持SQL LocalDB,怎么实现对SQL LocalDB安装及配置 解决方案: 我的第一想法和现…
注意:虽然WiX Toolset功能强大,但其学习曲线相对较高.请慎重选择: 若没有足够时间.没心思搞的请绕行至inno setup.installshield.nisi.setupfactory... WiX Toolset 3.x 手册目录 入门 基础介绍 Windows Install XML(WiX)介绍 利用Visual Studio处理WiX 创建一个简单的安装包 WixUI对话框库 WiX内置了一套Windows Installer安装包的用户界面库.本部分介绍关于使用WixUI对…
前言 Wix==Windows installer XML 顾名思议. 用于制作WINDOWS安装文件的XML格式的描述文件. 因为其实现方式为基于声明的方式,而非命令的方式. 特整理一下其相关的概念, 以便在查看其文档的时候更容易理解一些. 安装作业任务描述 将所需的文件布署到客户机 为文件创建快捷方式 预置配置内容(比如INI, 注册表). 安装作业实现方式 安装程序根据所选的选项(Feature),从一个压缩包中(Meida/Media Template)解压出属于该选项的某一组件(Com…
因为持续集成需要,所有项目编译完之后生成一个多语言的安装包.之前生成mst文件都是手动操作,而且mst文件必须每次重新和新的安装包“关联”,否则中文的安装包去调用英文的资源的时候就会报类似于“类型转换失败”的错误.基于这两点,有必要程序化这个流程,不然每次打包都得找我了.以下是程序的记录.比较简单. 其实就是用程序调用cmd,再次之前,请记得将wix的bin目录加入到系统变量中.否则命令不会被识别:然后将程序执行目录指向目标目录. static void Main(string[] args)…
在WIX中,CustomAction用来在安装过程中执行自定义行为.比如注册.修改文件.触发其他可执行文件等.这一节主要是介绍一下CustomAction的7种用法. 在此之前要了解InstallExecuteSequence,它是一个Action的执行序列. Installer会按照默认顺序来执行这些Action.通过字面意思也大概知道这些Action的目的.这些方法不是每次一都执行,分安装和卸载.如果CustomAction没有指定,很可能会安装卸载的时候都会执行一次. • AppSearc…
在上一篇中,留下了许可协议的问题,目前已经解决.感谢网友武全的指点! 问题 一般我们是用WixVariable 来设定许可协议.如下所示: <WixVariable Id="WixUILicenseRtf" Value="license.rtf" /> 但在多语言中我们写成下面这样是不识别的.它会被直接当成文件路径,而报错,找不到文件. <WixVariable Id="WixUILicenseRtf" Value="…
这几天摸索WIX的多语言安装包(这里是Wix的setup 工程,不是Bundle),终于走通了,感谢网友uni的指点.WIX的多语言安装包能够根据系统环境自动切换界面语言,你也可以通过命令指定语言.下面我说一说步骤.共4步. 1.设置WixLocalization文件. Wxl文件就相当于应用程序的资源文件.让我们根据不同的语言来编写不同的文本内容. 例如我们新建一个WixUI_zh-cn.wxl ,来处理简体中文. <WixLocalization Culture="zh-cn"…
上一篇分享了一个QuickWIX,用来对比两个工程前后的差异,但是这样还是很繁琐,而且昨天发现有Bug,目录对比有问题.这次改变做法,完全让程序自动去更新WXS文件,然后再用CCNet去自动编译,这样的话,工程师更新文件,再也不用我去编译,发布了. 思路:在原来的基础上,传入工程路径和目标文件夹,用模板的方式,更新变动的部分生成新的WXS文件覆盖原来的文件,一开始我思路搞错了,想在比较的基础上去更新变动的部分,比如一个文件删除了,就把这个File移除掉,同理对于组件和目录,但是这样比较费事,容易…
这次发布的是这两天做的一个WIX工具QuickWIX,主要解决两个问题点1.对大文件快速生成wix标签(files,Directories,ComponentRef):2.比较前后两次工程的差异.大的WIX工程有好几千个文件,开发人员增加dll,或者资源文件都是不确定的,而且很多时候我们无法直接取代,所以需要一个对比的功能,来告诉打包人员哪里新增了,哪里删除了,这样加快打包速度. 一.介绍 工具是个简单的winform程序.下面做几点说明. 1.生成XML:会更具路径和变量信息,生成Fragme…
在上一篇中曾留下两个问题,.Net捆绑安装不触发以及路径选择的问题现在都已经解决,这段时间花的最多的地方还是WPF调样式上面,奈何WPF功力不够,暂时还是没有达到自己想要的效果.另外ViewModel做了些调整,状态更加分明.安装效果是仿照搜狗输入法做的.先上效果图.   以上这只是四个基本的页面,更细化一些可以分出卸载的进度页面,卸载的完成页面,对修复同理,还有安装失败,用户取消提示页面,再就是能检测新版本并覆盖安装,这些都可以根据状态去添加页面.下面简单的说下思路和新的问题点. 关键流程 安…