EXE 到 MSI -- 使用 WIX 工具集 v4 的 MSI 包装器
WIX 模板,用于将 EXE 包装成 MSI 安装程序,以便更轻松地使用组策略进行部署
引言
我想分享一个我用来创建围绕简单 EXE 安装程序的 MSI 安装程序的模板,使用 WIX 工具集 v4。通过将命令行参数传递给 EXE,我们可以执行静默安装,并且如果 EXE 安装不成功,它将回滚。
背景
这些信息主要来自这个网站以及其他网站的整合,以满足我的需求。在这种情况下,我需要将库存代理部署到我公司域中的所有计算机。我喜欢使用 Windows 组策略来部署程序,但您需要 MSI 安装程序才能利用此功能。因此,使用 Visual Studio 2017 和 WIX 工具集 v4\Visual Studio 扩展,我能够完成此操作。
我最初将其用于 Fusion Inventory Agent (http://fusioninventory.org/),并为 x64 和 x86 创建了安装程序。部署代理之后很简单,所有代理设置都通过 MSI 安装程序中的 cmd 参数提供。在 Windows 7/8/10 上测试过。
Using the Code
在“添加/删除程序”窗口中为卸载程序添加您自己的自定义图标。
否则,删除引用图标的 2 行。
确保将 EXE 添加到主项目目录中,以便将其压缩到新的 MSI 安装程序文件中。
将此模板复制到您的 wix 项目文件中,并将下面所有粗体文本更改为匹配您的值。
构建并测试!
**在 Windows 10 下手动运行安装程序时,请确保以“管理员身份运行”和/或使用“兼容模式”。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs">
<Product Id="*" Name="APPLICATION NAME MSI WRAPPER"
Language="1033" Version="1.0.0.0"
Manufacturer="company name"
UpgradeCode="00000000-YOUR-GUID-0264712d4b1e">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<Media Id="1" Cabinet="myapplication.cab" EmbedCab="yes" />
<Icon Id="icon.ico" SourceFile="icon.ico" />
<Property Id="ARPPRODUCTICON" Value="icon.ico" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<Feature Id="ProductFeature" Title="APPLICATION NAME MSI WRAPPER" Level="1">
<ComponentGroupRef Id="ProductComponents" />
<ComponentRef Id="mysetup" />
</Feature>
<CustomAction Id="mysetup" FileKey="setup.exe" ExeCommand='/COMMANDLINE-PARAMATERS /S'
Execute="deferred" Impersonate="yes" Return="check" />
<InstallExecuteSequence>
<Custom Action="mysetup" Sequence="5401">NOT Installed</Custom>
</InstallExecuteSequence>
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="TempFolder" />
</Directory>
</Fragment>
<Fragment>
<ComponentGroup Id="ProductComponents" Directory="TempFolder">
<Component Id="mysetup" Guid="00000000-YOUR-GUID-bac606fc74a2">
<File Id="setup.exe" Source="YOUR-EXE-FILE.exe" />
</Component>
</ComponentGroup>
</Fragment>
</Wix>
关注点
欢迎提出任何意见。
历史
- 2018 年 9 月 1 日:初始版本