除了部署几个文件(放在.MSI机柜本身中)之外,MSI还需要生成一个在Visual C++中开发的自定义exe文件。这个自定义可执行产卵需求是通过在MSI安装程序中实现一个自定义脚本来实现的。即使MSI的自定义脚本成功生成自定义可执行文件,由于目标系统上缺少必要的系统库,操作系统无法运行该exe文件。安装VC++ Redistributable Kit正在目标系统上部署必要的系统库,因此该工具包应作为目标系统中的已安装应用程序提供,以便自定义exe可以正确执行。 由于此VC++ Redist套件是此自定义可执行文件的先决条件,因此我们正在考虑在产生自定义exe文件之前从MSI安装程序本身安装此VC++ Redist套件。我们通过用于产生自定义可执行文件的相同自定义脚本成功地产生了VC++ Redist Kit。完成MSI执行后,我们可以在“添加/删除程序”列表中看到此VC++ Redist套件。但问题是,即使安装了此工具包,自定义可执行文件也不会识别该工具包的存在,因此自定义可执行文件仍无法运行。 您可以引导我们在MSI部署期间安装应用程序,并在安装完成后立即使安装的应用程序处于活动状态(无需等待直至完成MSI执行),以便MSI安装程序的其他子进程能够识别应用存在?从MSI安装VC++可分发工具包
回答
要安装MSI的可再发行组件,建议使用use merge modules。就像你所做的那样,这比自定义动作更稳定。
要让新安装的应用程序识别可再发行组件,请确保使用延迟自定义操作在安装过程结束时或非常接近时启动它,以便合并模块在系统中注册的DLL可用。
有没有办法(推荐)从MSI软件包中提前在机器上使用可重新分配。您可以将它们作为先决条件安装,然后再启动主MSI,并使用引导程序,但这意味着您将EXE作为输出软件包,捆绑了必备软件和主MSI软件包。
我尝试在最后启动自定义操作。但事情没有奏效。我正在使用MakeMSI来构建安装程序。 –
您是否将自定义操作设置为执行延期? http://msdn.microsoft.com/en-us/library/windows/desktop/aa368268(v=vs.85).aspx –
是的,我做了推迟的行动。 –
- 1. MSI安装工具
- 2. MSI安装包
- 3. 如何在Inno安装程序中静默安装Microsoft VC++可再分发包?
- 4. MvvmLight工具包安装程序4.0.23.1.msi,没有安装VS2010模板
- 5. Windows安装程序msi包
- 6. 错误而MSI安装包
- 7. 从MSI文件安装vC++ 2013 x86不起作用
- 8. 如何让安装工具安装github分叉的PyPI包?
- 9. MSI分开安装MySql
- 10. Wix:从另一个MSI安装和配置MSI软件包
- 11. 检测VC++可再分发ATL SP1(安装开始之前)
- 12. 将多个安装包装到MSI中
- 13. WIX:安装证书,但从msi单独分发pfx文件
- 14. 如何修复Win10上的VC2015可重新分发安装错误“未能安装msi包”
- 15. MSI:在安装
- 16. Python包装分发后安装步骤
- 17. WiX安装程序包含msi的dll
- 18. MSI程序包的无提示安装
- 19. 使用DTF安装msi软件包
- 20. 无法安装.msi包默默
- 21. MSI包的预安装脚本
- 22. 什么是最好的MSI生成安装工具?
- 23. Wx工具集安装vC++ redistributable(x86)2015太慢
- 24. 如何为VC++ 2013安装平台工具集
- 25. 在Ubuntu上globus工具包安装
- 26. 安装htk工具包时出错
- 27. cuda工具包安装中的问题
- 28. Matplotlib底图工具包安装问题
- 29. 敏捷工具包4.3安装
- 30. AWS工具包安装错误
几乎无法诊断这个问题的不幸事件。总是倾向于用/ MT来构建这些helper exe程序,所以你不在乎。 –