在我的托管引导程序中,我将.NET Framework4.5.1和VC重新发行打包如下:
<PackageGroupRef Id = "NetFx451Redist" />
<PackageGroupRef Id = "VC_ReDist_120" After="NetFx451Redist" />
<RollbackBoundary />
<MsiPackage Id = "MainProduct"
DisplayName = "$(var.ProductName)"
DisplayInternalUI = "no"
Visible = "no"
Compressed = "yes"
SourceFile = "$(var.MainProduct)"
Vital = "yes"
After = "NetFx451Redist"
>在没有NETFW4.5.1的Windows7 x64上,通过安装,这将显示wixstdba安装.Net框架的基本屏幕,并在完成Net和启动我的msi包安装之前,在添加删除程序中添加一个条目。

Problem:现在完成NETFramework4.5.1安装并启动我的产品包(托管引导程序),如果我取消它的安装,或者由于任何错误/问题而终止它,它就会将条目留在添加删除程序中。如果我试图从添加删除程序卸载/更改它,它将再次启动托管引导程序安装接口,并启用安装按钮,就好像它是新安装一样,但总是以错误结尾。
如果取消安装,或者由于任何错误/问题,从托管界面中终止安装,我希望从添加删除程序中删除它的条目。
我是不是从我的捆绑或管理代码中遗漏了什么?
发布于 2015-09-15 02:26:35
一旦安装了包的任何部分,Burn引擎就会在Add/Remove程序中注册该包。.NET先决条件包是包的一部分,所以当MBAPrereq BootstrapperApplication安装.NET时,包将在Add/Remove程序中注册。没有办法修改烧伤引擎的这种行为在您的捆绑或BA。潜在的特性请求可能是Burn只在安装了非永久包之后注册包。特性请求应该在http://wixtoolset.org/issues上提交。
现在,您可以尝试通过将逻辑放在BA中,在调用Engine::Exit之前自动卸载自己,从而解决这个问题。
https://stackoverflow.com/questions/32559837
复制相似问题