我将 Wix Bootstrapper 项目升级到 WIX 4.0.0。我在显示内部用户界面时遇到问题。唯一的问题是卸载应用程序时。我希望不显示 msi 包的内部 UI。 Wix 3 就没有这样的问题,一切正常。请告诉我如何解决这个问题。 这是升级到 WIX 4 之前的代码,一切正常。
<MsiPackage Id="Setup" SourceFile="$(var.Setup.TargetPath)" Compressed="yes">
<MsiProperty Name="AddDesktopShortcut" Value="[AddDesktopShortcutMsiVariable]" />
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
</MsiPackage>
<MsiPackage DisplayInternalUI="no" Id="SetupMSI" ForcePerMachine="yes"
SourceFile="$(var.TargetDir)\......x64.msi" Compressed="yes">
</MsiPackage>
这是更新后的代码(Wix 4.0.0)
<MsiPackage Id="Setup" SourceFile="$(var.Setup.TargetPath)" Compressed="yes">
<MsiProperty Name="AddDesktopShortcut" Value="[AddDesktopShortcutMsiVariable]" />
<MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" />
</MsiPackage>
<MsiPackage bal:DisplayInternalUICondition="no" Id="SetupMSI" ForcePerMachine="yes"
SourceFile="$(var.TargetDir)\......x64.msi" Compressed="yes">
</MsiPackage>
现在当我卸载应用程序时,会出现此对话框。它不应该出现。我认为 bal:DisplayInternalUICondition="no" 不起作用。我尝试了 bal:DisplayInternalUICondition="0" 但它也不起作用。我尝试使用命令行通过运行命令(msiexec.exe /x“C:****.msi”/qn)来删除......x64.msi。它会在后台静默卸载,不显示任何窗口。
实际结果 有对话框窗口FileInUse。 在此输入图片描述
预期结果 没有窗户。卸载成功完成。 在此输入图片描述
该 UI 不是内部 MSI UI,而是 Bundle UI。看起来“正在使用的文件”功能会在 v4 中的卸载过程中启动。有些人可能会认为这是 v4 中的一个有益功能。