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. python web自动化测试中失败截图方法汇总

    在使用web自动化测试中,用例失败则自动截图的网上也有,但实际能落地的却没看到,现总结在在实际应用中失败截图的几种方法: 一.使用unittest框架截图方法:   1.在tearDown中写入截图的 ...

  2. C++判断是否连接服务器

    BOOL CheckServerStatus::isConnectServer(CString serverName, int serverPort) { CString strURL; strURL ...

  3. A - Calendar

    A - Calendar Time Limit:1000MS     Memory Limit:30000KB     64bit IO Format:%I64d & %I64u Submit ...

  4. FastDFS数据迁移

    参考:https://blog.csdn.net/frvxh/article/details/56293502 FastDFS安装配置参考:https://www.cnblogs.com/minseo ...

  5. ==和equal()的区别

    “==”比较的是对象引用的地址相不相同 “equal()”比较的是内容是否相等

  6. MySql数据库笔试题总结

    数据库面试题94577265 1,设有关系EMP(ENO,ENAME,SALARY,DNO),其中各属性的含义依次为职工号.姓名.工资和所在部门号,以及关系DEPT(DNO,DNAME,MANAGER ...

  7. hive on tez配置

    1.Tez简介 Tez是Hontonworks开源的支持DAG作业的计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升MapReduce作业的性能.Tez并不直接面向最终用户--事实上它允许 ...

  8. HTML响应状态码

    https://www.restapitutorial.com/httpstatuscodes.html

  9. git 新建工程

    之前的一篇文章 https://www.cnblogs.com/wjw-blog/p/7189730.html,按照流程能搭建好git仓库,有时候会有一些小问题. 按照这个流程:-在github 上新 ...

  10. Exception 05 : Could not instantiate id generator

    异常名称: Could not instantiate id generator 异常截图: 异常原因:Sequence不支持mysql数据库 Sequence支持的是有序列的数据库,此时可以将ora ...