wix:安装开始前运行外部 msi
我的应用程序需要 Microsoft Visual C++ 可再发行包 (vcredist_x86.exe)。 我有一个自定义操作来运行 vcredist_x86.exe,
我希望它仅在尚未安装时运行。我创建了一个注册表搜索来检查它。
问题:我如何通过支票运行此操作?使用 InstallExecuteSequence 元素时,如下所示,vcredist_x86.exe 崩溃,因为在运行不同的 msi 时无法运行 msi
谢谢,
乌兹
my application requires the microsoft visual c++ redisributable package (vcredist_x86.exe).
i have a custom action to run the vcredist_x86.exe
i want it to run only if it's not already installed. i created a registry search to check it.
the question: how do i run this action with the check? when using the InstallExecuteSequence element, as shown below, the vcredist_x86.exe crashes because you cannot run an msi while running a different msi
thanks,
Uzi
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要的是一个引导程序,它可以在 MSI 启动之前安装 VC++ 可再发行组件。
我正在使用开源 dotNetInstaller 并且它工作得很好。
what you need is a bootstrapper that would install the VC++ redistributable before your MSI starts.
i'm using open source dotNetInstaller and it works pretty well.
根本不要使用exe。要在基于 msi 的安装中分发 VC++ 运行时,请使用合并模块。无需自定义操作,无需添加条件,它就能正常工作。
Aaron Stebner 的博客专门讨论了使用 WiX 来实现这一点。
http://blogs.msdn.com/astebner/archive/2007/02/13/building-an-msi-using-wix-v3-0- that-includes-the-vc-8-0-runtime-merge-modules.aspx
Don't use the exe at all. To distribute the VC++ runtime in an msi-based install, use a merge module. No custom actions, no conditions to add, it just works.
Aaron Stebner's blog specifically talks about doing this with WiX.
http://blogs.msdn.com/astebner/archive/2007/02/13/building-an-msi-using-wix-v3-0-that-includes-the-vc-8-0-runtime-merge-modules.aspx