我们在WIX msis中使用VC ++编写的CustomActions。它在Windows7机器上运行良好。但是当我们尝试在Win 10中运行msi时,它无法运行并且失败,因为默认情况下在Win 10计算机中未安装Microsoft Visual C ++ 2010 Redistributable Package。因此,为了使MSI工作,我们应该安装Microsoft Visual C ++ 2010 Redistributable Package。但问题是我们不能将它与MSi一起安装,因为自定义操作负责选择INSTALLDIR,这将在安装之前发生。所以我的问题是
1.)我们是否真的需要Visual C ++ 2010 Redistributable来运行VC ++自定义操作。?
2.)如何在选择INSTALLDIR之前安装它?
答案 0 :(得分:2)
只需使用静态库编译DLL。在这种情况下,您的DLL没有其他依赖项。
在项目设置中将General->Use of MFC
设置为Use MFC in a static library
。
在C/C++ -> Code Generation
下选择Multithreaded
或Multithreaded Debug
/ MT或/ MTd。
您可以使用Dependency Walker检查是否需要更多必须安装的DLL。
答案 1 :(得分:1)
您应该将CRT库静态链接到自定义操作dll中。