[WiX]我的第一个WiX安装脚本

简介:

我的第一个WiX安装脚本

 

WiXWiki

WiX 代表 Windows Installer Xml (WiX) toolset  它是建立Windows InstallerXML toolset (MSI) 包裹从XML文件。它支持开发商集成他们的发布过程建立MSI MSM 设定包裹的命令行环境。

内部结构

Wix 由四份组成蜡烛、光、Lit 和黑暗。

蜡烛

蜡烛编译器叫蜡烛。

 

点燃连接器作为一个或更多目标文件和链接参考在目标文件在适当的标志在其它目标文件。光负责还对适当地收集所有binaries, 包装他们和组建最后的MSI MSM 文件。

 

Lit

Lit, 解放工具叫点燃了是可能被使用结合多份目标文件入图书馆可能由光解析的一个任意工具。

 

黑暗

黑暗, Decompiler 采取现有的代表包裹的MSI MSM 文件和组建XML 文件。

 

我的例子示范如下,脚本指示安装Windows Service以及一些dll:

<?xmlversion="1.0"encoding="GB2312"?>

<Wixxmlns="http://schemas.microsoft.com/wix/2003/01/wi">

    <ProductId="E4A63349-xxxx-4268-9633-B746461FC007"Name="Presence Collector"

        Language="1033"Version="1.0.1.0"Manufacturer="UltraPower">

        <PackageId="71A692D5-BE19-42e0-986D-AE17B98E93B1"

            Description="……."

            Comments="++++++++"

            InstallerVersion="200"

            Compressed="yes"/>

 

        <MediaId="1"Cabinet="Proxy.cab"EmbedCab="yes"/>

        <MediaId="2"Cabinet="Proxy2.cab"EmbedCab="yes"/>

       

 

        <DirectoryId="TARGETDIR"Name="SourceDir">

            <DirectoryId="ProgramMenuFolder"/>

            <DirectoryId="ProgramFilesFolder">

                <DirectoryId="INSTALLLOCATION"Name="Proxy"LongName=" Proxy">

                   

                    <ComponentId='CommandListenerEXE'Guid="E06C2F1B-xxxx-4862-A2B2-DFF5A7B3BF16">

                        <FileId='UltraPower..CommandListener.exe'

                           Name='CL.exe'LongName="UltraPower..CommandListener.exe"

                            src='C:\ZhengYun\ SetupDemo\CommandListener\bin\Debug\UltraPower..CommandListener.exe'

                            DiskId="1"/>

                       <ServiceInstallId='$(var.CommandListener.TargetFileName)'

                            Name='CommandListener'DisplayName=' Command Listener'

                           Type='ownProcess'Interactive='yes'Start='auto'Vital='yes'

                            ErrorControl='normal'/>

 

                        <ServiceControlId='CommandListenerEXE'

                       Name='CommandListener'Start='install'Stop='both'Remove='uninstall'

                        Wait='yes'/>

 

                    </Component>

                   

                    <ComponentId="RequestHandlerCOM"Guid="379D059A-xxxx-460f-83D9-90300D2C10D8">

                        <FileId='UltraPower..RequestHandler.dll'

                           Name="ReqHand.dll"LongName="UltraPower..RequestHandler.dll"

                           src='C:\ZhengYun\SetupDemo\UltraPower..RequestHandler\ 
bin\Debug\UltraPower..RequestHandler.dll'

                            DiskId="2">

                           

                           <ShortcutId="Proxy.RequestHanlder.Shortcut"Name="MyApp"

                            LongName="Proxy RequestHanlder Shortcut"Description="A glorious expanse of battleship grey"

                            Directory="ProgramMenuFolder"/>

                        </File>

                    </Component>

                   

                    <ComponentId="CachingCOM"Guid="479D059A-xxxx-460f-83D9-90300D2C10D8">

                       <FileId='Microsoft.Practices.EnterpriseLibrary.Caching.dll'

                           Name="Caching1.dll"LongName="Microsoft.Practices.EnterpriseLibrary.Caching.dll"

                           src='C:\ZhengYun\SetupDemo\CommandListener\bin\Debug\ 
Microsoft.Practices.EnterpriseLibrary.Caching.dll'

                            DiskId="1">

                        </File>

                    </Component>

                   

                </Directory>

            </Directory>

        </Directory>

 

        <FeatureId="ProductFeature"Title=" Collector Feature"Level="1">

            <ComponentRefId="RequestHandlerCOM"/>

            <ComponentRefId="CachingCOM"/>

            <ComponentRefId="CommandListenerEXE"/>

        </Feature>

    </Product>

</Wix>

 

 

目录
相关文章
|
编译器 Linux Windows
NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
NSIS安装包开发笔记(一):NSIS介绍、使用NSIS默认向导脚本制作Windows安装包
|
C++
Wix打包系列(七) 添加系统必备组件的安装程序
原文: Wix打包系列(七) 添加系统必备组件的安装程序     我们知道在vs的打包工程中添加系统必备组件是一件很容易的事情,那么在wix中如何检测系统必备组件并在安装过程中安装这些组件。
1657 0
|
XML 数据格式 Windows
Wix 安装部署教程(四) 添加安装文件及快捷方式
原文:Wix 安装部署教程(四) 添加安装文件及快捷方式       通过之前三篇的介绍,大家对wix的xml部署方式也应该有一些认识,今天天气不错,再来一发。主要介绍桌面,开始菜单,卸载等功能的如何添加。
1438 0
Wix 安装部署教程(十二) -- 自动更新WXS文件
原文:Wix 安装部署教程(十二) -- 自动更新WXS文件         上一篇分享了一个QuickWIX,用来对比两个工程前后的差异,但是这样还是很繁琐,而且昨天发现有Bug,目录对比有问题。这次改变做法,完全让程序自动去更新WXS文件,然后再用CCNet去自动编译,这样的话,工程师更新文件,再也不用我去编译,发布了。
1184 0
|
SQL 数据库连接 C#
C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll)
原文:C#进阶系列——使用Advanced Installer制作IIS安装包(二:配置安装包依赖项和自定义dll) 前言:上篇C#进阶系列——使用Advanced Installer制作IIS安装包(一:配置IIS和Web.config)介绍了下使用Advanced Installer配置IIS和Web.config的过程,操作起来是相对比较简单的,只要知道了博主提供的方法,相信都不是问题,其实博主当初寻找相关方法配置IIS和Web.config的时候也是费了九牛二虎之力的,毕竟资料太少,只能各种方式挨个尝试一遍,解决问题之后回过头来看,发现当初也是走了很多的弯路。
1204 0
|
Windows
NSIS 打包脚本基础
简介 NSIS(Nullsoft Scriptable Install System)是一个开源的 Windows 系统下安装程序制作程序。它提供了安装、卸载、系统设置、文件解压缩等功能。这如其名字所指出的那样,NSIS 是通过它的脚本语言来描述安装程序的行为和逻辑的。
1605 0
在InstallShield中发布单一的Setup.exe文件
原文:在InstallShield中发布单一的Setup.exe文件 InstallShield默认的Release模式下,生成了一个setup.exe文件,一个msi文件,以及一些其它的杂项文件。      这种方式的好处是不用解压,点击setup.exe就可以直接开始安装,非常适合以前的那种传统的光盘发布安装包的形式。
944 0