我什么时候需要MSVCRT可再发行组件?

时间:2012-05-11 07:00:33

标签: c++ visual-studio installation

我在Visual Studio 2010中构建了一个MFC应用程序,而且我对在安装程序中包含redistributals感到头疼。

应用程序是静态链接的,所以我不需要可再发行的,它是自包含的,对吗?

3 个答案:

答案 0 :(得分:4)

这是一种测试是否需要可再发行的简单方法:

  • 在VirtualBox上安装干净的Windows 7(甚至更好的Windows XP SP 2,因为它没有您期望的基本内容)
  • 在此VirtualBox上运行您的软件

如果它不起作用,您可能需要包含可再发行的。

答案 1 :(得分:0)

是的,它应该没问题,但是我会安装在你想要的目标平台上,看看它是否有效,如果没有,那么你需要添加更多的dll或添加作为安装VC resdstributable的先决条件,然后才能安装你的应用程序。

虽然您可能已包含MFC dll,但您的目标操作系统上的Visual C运行时可能会有所不同,因此您可能仍需要在应用程序中包含VC可再发行组件。

关于执行上述操作的MSDN链接:http://msdn.microsoft.com/en-us/library/ms235299.aspx和演练:http://msdn.microsoft.com/en-us/library/dd293575.aspx

答案 2 :(得分:0)

只要您静态链接DLL或可再发行组件,就不需要重新分发它。这是静态和动态链接之间的核心差异。

它实际上会将您使用的部分(或整个事物,取决于)嵌入到您的应用程序中。通过重新分发您的应用程序,您实际上也在重新分发其依赖项。

请注意,您不能总是使用静态链接,即使可以使用也不总是有意义。