Wix制作安装包,找起资料来很费劲,记录一下:

Product.wxs,该文件只能制作出msi形式的安装包,不能做到自动检测framework。

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension">
<Product Id="{1F471579-CF71-4375-96ED-065093700642}" Name="云互通" Language='2052' Codepage='936'
Version="1.0.0.0" Manufacturer="Winway" UpgradeCode="DBAD34E4-EA8B-4DF6-970F-170E8011956F">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate />
<WixVariable Id="WixUIBannerBmp" Value="banner.bmp"/>
<WixVariable Id="WixUIDialogBmp" Value="dialog.bmp"/>
<WixVariable Id="WixUILicenseRtf" Value="licence.rtf"/> <Property Id="ARPNOREPAIR" Value="yes" Secure="yes"/> <!--TARGETDIR这是一个虚拟的dir,用于包含其它的Directory-->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="DesktopFolder" Name="Desktop" /> <Directory Id="ProgramMenuFolder" Name="Programs">
<Directory Id="ProgramMenuDir" Name="云互通" ></Directory>
</Directory> <Directory Id="ProgramFilesFolder">
<Directory Id="INSTALLLOCATION" Name="Winway">
<Directory Id="Resource" Name="Resource"></Directory>
</Directory>
</Directory> </Directory> <ComponentGroup Id="help">
<Component Id="uninstall" Guid="{6886685C-E1B1-48d9-B6A7-548175BD8F17}" Directory="ProgramMenuDir">
<Condition>
<![CDATA[Installed OR NETFRAMEWORK40FULL]]>
</Condition>
<Shortcut Id="UninstallProduct" Name="卸载云互通" Directory="ProgramMenuDir" Target="[SystemFolder]msiexec.exe" Arguments="/x [ProductCode]" Description="Uninstall" Icon="uninstall.ico">
<Icon Id="uninstall.ico" SourceFile="$(var.FCS.UI.TargetDir)Resource\uninstall.ico" />
</Shortcut>
<RemoveFolder Id='rmvProgramMenuDir' On='uninstall' />
<RegistryValue Root='HKCU' Key='Software/[Manufacturer]/[ProductName]' Type='string' Value='' KeyPath='yes' />
</Component> <Component Id="FCS.Service" Guid="{53E2898A-6BBB-4EC9-8455-E56200CD0A17}" Directory="INSTALLLOCATION">
<File Source="$(var.FCS.Service.TargetPath)" KeyPath="yes" DiskId="1" />
<File Source="$(var.FCS.Service.TargetDir)setting.config" />
<File Source="$(var.FCS.Service.TargetDir)log4net.dll" />
<File Source="$(var.FCS.Service.TargetDir)log4net.config" />
<File Source="$(var.FCS.Service.TargetDir)FCS.BLL.dll" />
<File Source="$(var.FCS.Service.TargetDir)FCS.Model.dll" />
<File Source="$(var.FCS.Service.TargetDir)FCS.Util.dll" />
<File Source="$(var.FCS.Service.TargetDir)Newtonsoft.Json.dll" />
<File Source="$(var.FCS.Service.TargetDir)Ionic.Zip.dll" />
<File Source="$(var.FCS.Service.TargetDir)Oracle.ManagedDataAccess.dll" />
<File Source="$(var.FCS.Update.TargetPath)" />
<ServiceInstall Id="ServiceInstaller"
Type="ownProcess"
Vital="yes"
Name="FCS"
DisplayName="FCS 2.0"
Description="深圳万威科技有限公司云互通 V2.0"
Start="auto"
Account="LocalSystem"
ErrorControl="ignore"
Interactive="no" />
<ServiceControl Id="StartService"
Start="install"
Stop="both"
Remove="uninstall"
Name="FCS"
Wait="yes" />
</Component> <Component Id="FCS.UI" Guid="{D61B7439-25A8-4C28-8F74-64ADE3AC183B}" Directory="INSTALLLOCATION">
<File Source="$(var.FCS.UI.TargetPath)">
<Shortcut Id="startmenu" Directory="ProgramMenuDir" Name="参数设置" WorkingDirectory='INSTALLLOCATION' Advertise="yes" Icon="start.ico">
<Icon Id="start.ico" SourceFile="$(var.FCS.UI.TargetDir)Resource\FCS.UI.ico" />
</Shortcut>
<Shortcut Id="desktop" Directory="DesktopFolder" Name="云互通" WorkingDirectory='INSTALLLOCATION' Advertise="yes" Icon="start.ico" />
</File>
</Component> </ComponentGroup> <Feature Id="ProductFeature" Level="1">
<ComponentRef Id="FCS.Service" />
<ComponentRef Id="FCS.UI" />
<ComponentRef Id="uninstall" />
</Feature> <PropertyRef Id="NETFRAMEWORK40FULL"/> <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION" /> <UI>
<UIRef Id="WixUI_InstallDir" />
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" Order="2">1</Publish> <!--隐藏license界面-->
<Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2">1</Publish>
</UI>
</Product>
</Wix>

界面定义文件,需要它的原因是界面整个用图片替代,所以要隐藏掉一些。

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="zh-cn" Language='2052' Codepage='936' xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="WelcomeDlgTitle" Overridable="yes"></String>
<String Id="WelcomeDlgDescription" Overridable="yes"></String>
<String Id="FatalErrorTitle" Overridable="yes"></String>
<String Id="FatalErrorDescription1" Overridable="yes"></String>
<String Id="FatalErrorDescription2" Overridable="yes"></String>
<String Id="UserExitTitle" Overridable="yes"></String>
<String Id="UserExitDescription1" Overridable="yes"></String>
<String Id="UserExitDescription2" Overridable="yes"></String>
<String Id="MaintenanceWelcomeDlgDescription" Overridable="yes"></String>
<String Id="MaintenanceWelcomeDlgTitle" Overridable="yes"></String>
<String Id="ExitDialogDescription" Overridable="yes"></String>
<String Id="ExitDialogTitle" Overridable="yes"></String>
</WixLocalization>

制作启动文件

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension"
xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Bundle Name="云互通" Version="1.0.0.0" Manufacturer="Winway" UpgradeCode="7742af6f-d4a6-4d28-84d2-ec42fb1b220d"
IconSourceFile="FCS.UI.ico"> <BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLicense">
<bal:WixStandardBootstrapperApplication LicenseFile="E:\FCS\Client\Source\FCS2.0\FCS.Install\licence.rtf"
LocalizationFile="MyLocalize.wxl" LogoFile="FCS.Logo.jpg" />
</BootstrapperApplicationRef> <Chain>
<PackageGroupRef Id="NetFx40Web"/>
<MsiPackage Id="FCS" SourceFile="E:\FCS\Client\Source\FCS2.0\FCS.Install\bin\Release\zh-cn\FCS.msi" DisplayInternalUI="yes"></MsiPackage>
</Chain>
</Bundle>
</Wix>

语言文件

<?xml version="1.0" encoding="utf-8"?>
<WixLocalization Culture="zh-cn" Language='2052' Codepage='936' xmlns="http://schemas.microsoft.com/wix/2006/localization">
<String Id="Caption">安装 [WixBundleName]</String>
<String Id="Title">[WixBundleName]</String>
<String Id="ConfirmCancelMessage">你想取消安装吗?</String>
<String Id="HelpHeader">安装帮助</String>
<String Id="HelpText">
/install | /repair | /uninstall | /layout [directory] - 安装,修复,卸载或. 默认为安装操作.
/passive | /quiet - 不显示任何界面和提示,默认状况下,用户和所有提示都会被显示出来。
/norestart - 安装过程中禁止启动。 默认情况下,界面会提示重新启动。
/log log.txt - 日志记录成一个特殊的文件. 默认情况下,日志文件存在在系统TEMP文件夹中。
</String>
<String Id="HelpCloseButton">Close</String>
<String Id="InstallAcceptCheckbox">我同意许可条款和条件</String>
<String Id="InstallOptionsButton">选择项</String>
<String Id="InstallInstallButton">安装</String>
<String Id="InstallCloseButton">关闭</String>
<String Id="OptionsHeader">安装选择项</String>
<String Id="OptionsLocationLabel">安装位置 (不推荐安装在硬盘根目录):</String>
<String Id="OptionsBrowseButton">浏览</String>
<String Id="OptionsOkButton">确定</String>
<String Id="OptionsCancelButton">取消</String>
<String Id="ProgressHeader">安装进度</String>
<String Id="ProgressLabel">进度:</String>
<String Id="OverallProgressPackageText">初始化...</String>
<String Id="ProgressCancelButton">取消</String>
<String Id="ModifyHeader">选择安装类型</String>
<String Id="ModifyRepairButton">修复</String>
<String Id="ModifyUninstallButton">卸载</String>
<String Id="ModifyCloseButton">关闭</String>
<String Id="SuccessHeader">安装成功</String>
<String Id="SuccessLaunchButton">运行</String>
<String Id="SuccessRestartText">在使用软件之前,请先重启电脑。</String>
<String Id="SuccessRestartButton">重启</String>
<String Id="SuccessCloseButton">关闭</String>
<String Id="FailureHeader">安装失败</String>
<String Id="FailureHyperlinkLogText">一个或多个原因导致安装失败,请修复安装包或重试,更多原因请查看日志。</String>
<String Id="FailureRestartText">你必须重启计算机才能完成软件的回滚操作</String>
<String Id="FailureRestartButton">重启</String>
<String Id="FailureCloseButton">关闭</String>
</WixLocalization>

Wix制作安装包的更多相关文章

  1. 利用WIX制作安装包(3)

    原文 利用WIX制作安装包(3) 利用WIX安装服务非常简单.只需要短短几句话就可以.当我们创建好一个Windows服务之后.我们在项目中创建一个Service.wxs 文件来安装服务,并且编辑代码如 ...

  2. 利用WIX制作安装包(2)

    原文 利用WIX制作安装包(2) 这一篇文章将为大家介绍如何使用WIX自定义UI.上一篇文章我们讲过WIX为我们提供了五种安装界面.每种安装界面都是由不同的Dialog组成.在这里我们挑选一种比较常用 ...

  3. 利用WIX制作安装包(1)

    原文 利用WIX制作安装包(1) #installation 下载最新版本的WIX toolset 并安装DOWNLOAD Wix toolset V3.5之后的版本已经可以集成到visual stu ...

  4. 循序渐进做项目系列(5):制作安装包,谁人都可以!——VS制作安装包简明教程

    一开始让我做安装包的时候,其实我是拒绝的.因为我根本就不会做安装包.查了资料之后,我很懵,很晕,很乱,因为不清晰,不简明,不直白.然而经过一番彷徨的挣扎,我终于发现:制作安装包,谁人都可以!故挥狼毫, ...

  5. 使用Qt installer framework制作安装包

    一.介绍 使用Qt库开发的应用程序,一般有两种发布方式:(1)静态编译发布.这种方式使得程序在编译的时候会将Qt核心库全部编译到一个可执行文件中.其优势是简单单一,所有的依赖库都集中在一起,其缺点也很 ...

  6. 【原创】VB6.0应用程序安装包的生成(Setup Factory 9.0制作安装包的方法)

    VB6.0应用程序安装包的生成,利用其自带的打包工具生成的安装程序很简陋,一点不美观:如果想让自己的应用程序安装的时候显得高大上一点,本教程提供使用Setup Factory 9.0制作安装包的方法. ...

  7. VS 制作安装包小窥

    难得忙里偷闲,看到有关VS制作安装包,按下文小试一把,还行,比不上Installshield. 首先在打开 VS2010    >   文件 >新建项目 创建一个安装项目  XXX 在“目 ...

  8. vs2015 制作安装包额外需要安装的软件VSI_bundle

    vs2015 制作安装包额外需要安装的软件VSI_bundle 下载地址:http://files.cnblogs.com/files/sdner/VSI_bundle.rar

  9. [转载]如何用Visual Studio制作安装包

    原文地址:如何用Visual Studio制作安装包作者:蓝羽幽游 环境:Microsoft Visual Studio 2010 语言:C# 构架:.NET Framework 2.0 解决方案名称 ...

随机推荐

  1. DrawerLayout 设置为滑动范围全盘

    public void setDrawerLeftEdgeSize(DrawerLayout drawerLayout, float displayWidthPercentage) { if (dra ...

  2. wchar_t和char转化

    char* WcharToChar(const wchar_t* wp) { char *m_char; int len = WideCharToMultiByte(CP_ACP, 0, wp, wc ...

  3. day_6.26 反射

    #utf-8 #2018-6-26 17:58:36 #反射,, 应用:从类里面获取字符串 #在python中万物皆对象 class Teacher: dic = {"查看学生信息" ...

  4. ELK之从6.3.1升级至6.6.2

    需要把原6.3.1版本升级为6.6.2版本 1,官网下载rpm包 2,升级elasticsearch和kibana rpm -U elasticsearch-6.6.2.rpm rpm -U kiba ...

  5. PL-SLAM

    双目 1.PL-SLAM: a Stereo SLAM System through the Combination of Points and Line Segments ubuntu14.04配置 ...

  6. Codeforces 670E - Correct Bracket Sequence Editor - [链表]

    题目链接:https://codeforces.com/contest/670/problem/E 题意: 给出一个已经匹配的括号串,给出起始的光标位置(光标总是指向某个括号). 有如下操作: 1.往 ...

  7. 计蒜客 31436 - 提高水平 - [状压DP]

    题目链接:https://nanti.jisuanke.com/t/31436 作为一名车手,为了提高自身的姿势水平,平时的练习是必不可少的.小 J 每天的训练包含 $N$ 个训练项目,他会按照某个顺 ...

  8. display style edit

    https://html.spec.whatwg.org/multipage/interaction.html#attr-contenteditable <!doctype html> & ...

  9. >>>>>>>> [ovs][libvirt] virt-xml ovs-vsctl

    查看可用的参数: [root@vrouter1 tong]# virt-xml --add-device --network=? |grep source source source_mode sou ...

  10. Flink - InputGate

    初始化 Task List<InputGateDeploymentDescriptor> consumedPartitions = tdd.getInputGates(); // Cons ...