C#缺lessMSVCR100.dll

我正在开发一个应用程序,执行另一个应用程序,我收到这个错误:

程序无法启动,因为您的计算机缺lessMSVCR100.dll

与我的C#应用​​程序,我可以解决这个问题复制这个.dll到windows / system32文件夹? 或者存在另一种方法来做到这一点?

以下链接指向MSVCRT100安装程序的正确下载。 这可能是您希望您的客户在安装您的应用程序之前运行的。 这将正确地安装MSVCRT DLLs在适当的目录,使所有的应用程序可以使用它。

Microsoft Visual C ++ 2010 Redistributable Package(x86) (可能是32位和64位操作系统所需的)

Microsoft Visual C ++ 2010可再发行组件包(x64) (仅当您的应用程序本身是64位时)

如果你真的想通过你自己的MSI中的合并模块来安装MSVCRT100 DLL,你可以把你的MSI链接到位于x86版本的MSM中,你的“c:\ program files \ common files \ merge modules”目录“(假设你已经安装了Visual Studio 2010)。

C:\Program Files (x86)\Common Files\Merge modulees>dir *CRT*.msm Volume in drive C has no label. Volume Serial Number is 60A4-1718 Directory of C:\Program Files (x86)\Common Files\Merge modulees 04/22/2011 01:18 PM 584,192 Microsoft_VC100_CRT_x64.msm 04/22/2011 01:41 PM 571,904 Microsoft_VC100_CRT_x86.msm <-- This is likely the MSM you want if your app is 32-bit. 04/22/2011 01:14 PM 847,360 Microsoft_VC100_DebugCRT_x64.msm 04/22/2011 01:39 PM 801,792 Microsoft_VC100_DebugCRT_x86.msm 

另外两个替代方法:将MSVCRT100.dll复制到系统目录中,而不是将其复制到您试图启动的EXE应用程序所依赖的DLL的目录中。 这是不推荐的,但不会冒破坏其他应用程序的风险。

另一种选择。 如果你真的有EXE的源代码,你可以完全绕过所有这个“安装msvcrt100.dll”的噪音静态链接到它。 在Visual Studio中,它是C / C ++下的项目对话框中的选项(在“代码生成”选项卡下)。 将“多线程Dll”中的“运行时库”更改为“多线程”。 这添加了/ MT编译器开关。

无论您尝试启动的程序必须首先正确安装。 Msvcr100.dll是需要部署的程序用VS或C ++编写的C或C ++程序之一。 安装和部署项目或使用/ MT选项构建程序很简单。 与计划负责人联系以获得支持。

缺少的是Visual C ++运行库。

你是从你的C#代码启动一个C ++应用程序吗? 如果是这样,请确保客户机上有适当的运行时。

你应该能够通过复制和注册来解决这个问题(使用命令行:regsvr32“DLLNAME”)或者你可以将它与你的可执行文件一起发送,它应该可以工作

警告:在使用您的软件包括文件之前,请参阅以下文章… http://msdn.microsoft.com/en-us/library/ms235299.aspx

我对你的行为不承担任何责任