Wix的VC ++自定义操作

时间:2017-09-28 08:39:43

标签: visual-studio-2010 visual-c++ mfc wix custom-action

我们在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之前安装它?

2 个答案:

答案 0 :(得分:2)

只需使用静态库编译DLL。在这种情况下,您的DLL没有其他依赖项。

在项目设置中将General->Use of MFC设置为Use MFC in a static library

C/C++ -> Code Generation下选择MultithreadedMultithreaded Debug / MT或/ MTd。

您可以使用Dependency Walker检查是否需要更多必须安装的DLL。

答案 1 :(得分:1)

您应该将CRT库静态链接到自定义操作dll中。