【发布时间】:2010-01-10 07:06:57
【问题描述】:
我写了一些应用程序。
但是当我在多个操作系统上运行它时,我们发现这两个文件丢失了。
当我将它们添加到 windows\system32 文件夹时,应用程序工作正常。
我看到了这个解决方案how-to-install-msvcr71-dll-correctly,但是有什么方法可以解决
我的应用程序使用最新 .net 附带的文件的更新版本
分发。
感谢您的帮助。
【问题讨论】:
我写了一些应用程序。
但是当我在多个操作系统上运行它时,我们发现这两个文件丢失了。
当我将它们添加到 windows\system32 文件夹时,应用程序工作正常。
我看到了这个解决方案how-to-install-msvcr71-dll-correctly,但是有什么方法可以解决
我的应用程序使用最新 .net 附带的文件的更新版本
分发。
感谢您的帮助。
【问题讨论】:
正如您链接到的帖子中所述,使用适合您的文件版本并将它们与您的应用程序一起分发。
这些是 VC++ dll,而不是 .Net。
【讨论】:
正如 BlueRaja 所说,这些不是 .NET,但为了分发它们,您需要将 VC 运行时合并模块添加到您的安装中(请参阅this 链接)。
Microsoft 合并模块随 Microsoft Visual Studio .NET 一起提供。它们的默认安装位置是 [ProgramFilesFolder]\Common Files\Merge Modules。
此外,您可以在InstallSite.org 下载一些 Microsoft 和供应商提供的合并模块。
【讨论】:
当你创建一个项目时,如果你有这个选项可用,而不是使用 共享 DLL 在选项中使用 静态库。因为共享 DLL 告诉您的 .exe 或 dll 它将依赖于客户端,如果他没有依赖项,您的程序将失败。静态库方式,你的程序依赖的代码会在你编译的.exe或者.dll里面。
【讨论】: