我在那一分钟定义了以下非常基本的Wix3.11包,我已经删除了在安装MSI之前触发的execpackage,因为我将要描述的问题只发生在MSIPackage命令和我正在使用的特定第三方MSI上。
<?xml version="1.0"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension">
<Bundle Name="ACME APP 32Bit" Manufacturer="ACME CORP" Version="1.0.0.0" UpgradeCode="0B736949-AE50-46B0-A534-42C9672FAF1F" IconSourceFile='..\Common Files\Images\icon.ico'>
<BootstrapperApplicationRef Id="WixStandardBootstrapperApplication.RtfLargeLicense">
<bal:WixStandardBootstrapperApplication
LicenseFile="..\Common Files\Documents\EULA.rtf"
ShowVersion="yes"
LogoFile="..\Common Files\Images\logo-64x64.png"
LogoSideFile="..\Common Files\Images\logo-64x64.png"
/>
</BootstrapperApplicationRef>
<Chain>
<MsiPackage Id="TP32BIT" SourceFile="ThirdParty.msi" Visible="no" />
</Chain>
</Bundle>
</Wix>在捆绑包部署MSI之后,当出现安装成功完成对话框时,会再次出现修改设置对话框(修复、卸载、取消)。
这似乎只发生在我需要安装的第三方MSI。我无法控制此MSI,目前我也无法从制造商那里获得更改支持。
我已经用另一个随机的产品替换了MSI,它不会导致同样的问题。它的部署没有有效地再次尝试运行包安装程序。
我已经从命令行运行了第三方MSI,并检查了它在灌输时的返回代码,它返回0。
我不明白是什么原因导致安装程序认为它需要在完成此MSI后再次运行自己。UUID中没有冲突,我不认为我的xml中有任何错误。
如果有人能对此有所了解,我将不胜感激。目前,我能想到的唯一一件事就是尝试通过从命令行运行msiexec的execpackage方法将这个特定的MSI部署到平台上,但这完全否定了我最初使用捆绑包的原因。
提前谢谢。
发布于 2018-04-15 03:29:22
读到这篇文章我有点困惑。
ThirdParty.msi是否会出现问题?我认为可能是setup complete对话框中的一些奇特事件启动了一个自定义操作,它做了一些疯狂的事情。这是我们可以看一看的MSI吗?你能提供一个下载位置吗?(虽然没有承诺)。
在静默模式下运行安装程序时,GUI序列不会运行-这可以解释为什么在静默模式下工作-如果确实是这样的话。
发布于 2018-04-25 21:09:09
原来是WIX中的一个已知bug,是由第三方MSI触发的。github.com/wixtoolset/issues/issues/5266此MSI不能更改,必须使用此机制部署其内容。我已经创建了一个解决方法来解决这个问题,因为安装程序在MSI完成后启动了2个新的Wix实例,所以我跟踪了进程ID并杀死了任何“未知”的东西。
https://stackoverflow.com/questions/49774355
复制相似问题