我已经在 Visual Studio 2010 中构建了一个 MFC 应用程序,但我正在为在安装程序中包含重新分发而摸不着头脑。
该应用程序是静态链接的,所以我不应该需要可再发行组件,它是自包含的,对吧?
我已经在 Visual Studio 2010 中构建了一个 MFC 应用程序,但我正在为在安装程序中包含重新分发而摸不着头脑。
该应用程序是静态链接的,所以我不应该需要可再发行组件,它是自包含的,对吧?
这是一个测试您是否需要可再发行组件的简单方法:
如果它不起作用,您可能需要包含可再发行组件。
是的,它应该没问题,但我会安装在您预期的目标平台上,看看它是否有效,如果没有,那么您需要添加更多 dll 或作为先决条件添加以在安装您的应用程序之前安装 VC 可再发行组件。
尽管您可能已包含 MFC dll,但您的目标操作系统上的 Visual C 运行时可能不同,因此您可能仍需要在您的应用程序中包含 VC 可再发行组件。
有关执行上述操作的 MSDN 链接:http: //msdn.microsoft.com/en-us/library/ms235299.aspx和演练:http: //msdn.microsoft.com/en-us/library/dd293575.aspx
任何时候静态链接 DLL 或可再发行组件时,都不需要再分发它。这是静态链接和动态链接之间的核心区别。
它实际上会将您使用的部分(或整个事物,取决于)嵌入到您的应用程序中。通过重新分发您的应用程序,您实际上也在重新分发其依赖项。
请注意,您不能总是使用静态链接,即使可以使用它也并不总是有意义。