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. 实验一:基于STM32F1的流水灯实验(库函数)

    参考原子哥学习程序 条件:实验板STM32103ZET6:固件库STM32F10x_StdPeriph_Lib_V3.5.0:环境MDK5: 目的:了解STM32 的 IO 口如何作为输出使用 :以两 ...

  2. jquery <img> 图片懒加载 和 标签如果没有加载出图片或没有图片,就显示默认的图片

    参考链接:http://www.jq22.com/jquery-info390 或压缩包下载地址:链接:http://pan.baidu.com/s/1hsj8ZWw 密码:4a7s    下面是没有 ...

  3. 爬虫----爬虫请求库requests

    一 介绍 介绍:---------------------------------------------使用requests可以模拟浏览器的请求,比起之前用到的urllib,requests模块的a ...

  4. [No0000EB]C# 数组(Array)

    数组是一个存储相同类型元素的固定大小的顺序集合.数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合. 声明数组变量并不是声明 number0.number1.....number99 一个 ...

  5. tomcat远程部署war包,显示连接被重置

    在tomcat 目录: /opt/apache-tomcat-9.0.13/webapps/manager/WEB-INF/web.xml 下修改: <multipart-config> ...

  6. 上传本地代码到github&&从github下载源码

    最近在玩github,下面简单介绍下githup的使用 将本地代码同步到github. 使用Git GUI同步  1,先下载git,然后安装.右键如图所示. 2,在github里新建一个 reposi ...

  7. 转:ArcGIS API for JavaScript之图层

    参考文章地址: https://developers.arcgis.com/javascript/3/jsapi/layer-amd.html Layer |–TiledMapServiceLayer ...

  8. 《linux 用户管理》- useradd/userdel/usermod/groupadd/who/w

    一:概念 在 Linux 中,使用一个 32位整数 来记录每一个用户(USER ID 简单 UID),这意味着在 Linux 中,可以有 40亿 个不同的用户. 系统. 在 /etc/passwd  ...

  9. Win10系统桌面右键新建没有内容怎么恢复

    Win10系统桌面右键新建没有内容怎么恢复 添加txt文本文档 运行->regedit,打开注册表编辑器 展开HKEY_CLASSES_ROOT 找到.txt 选中.txt,修改右侧窗格的“默认 ...

  10. 原声js,取消事件冒泡,点击按钮,显示box,点击屏幕其他地方,box隐藏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...