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

来源:互联网 发布:图标windows mail 编辑:程序博客网 时间:2024/05/16 10:12

我的第一个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:

xml version="1.0" encoding="GB2312"?>

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

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

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

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

            Description="……."

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

            InstallerVersion="200"

            Compressed="yes" />

 

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

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

       

 

        <Directory Id="TARGETDIR" Name="SourceDir">

            <Directory Id="ProgramMenuFolder"/>

            <Directory Id="ProgramFilesFolder">

                <Directory Id="INSTALLLOCATION" Name="Proxy" LongName=" Proxy">

                   

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

                        <File Id='UltraPower..CommandListener.exe'

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

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

                            DiskId="1"/>

                        <ServiceInstall Id='$(var.CommandListener.TargetFileName)'

                            Name='CommandListener' DisplayName=' Command Listener'

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

                            ErrorControl='normal'/>

 

                        <ServiceControl Id='CommandListenerEXE'

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

                        Wait='yes'/>

 

                    Component>

                   

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

                        <File Id='UltraPower..RequestHandler.dll'

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

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

                            DiskId="2">

                           

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

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

                            Directory="ProgramMenuFolder"/>

                        File>

                    Component>

                   

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

                        <File Id='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>

 

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

            <ComponentRef Id="RequestHandlerCOM" />

            <ComponentRef Id="CachingCOM" />

            <ComponentRef Id="CommandListenerEXE" />

        Feature>

    Product>

Wix>

 

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=357014


原创粉丝点击