C# 缺少 MSVCR100.dll

发布于 2024-11-28 05:54:51 字数 192 浏览 3 评论 0原文

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

程序无法启动,因为您的 MSVCR100.dll 丢失 计算机

上装有我的 C# 应用程序,我可以通过将此 .dll 复制到 windows/system32 文件夹来解决此问题吗? 或者存在另一种方法来做到这一点?

I'm developing an app that execute another app and I received this error:

the program can't start because MSVCR100.dll is missing from your
computer

with my C# app, can I fix this problem copying this .dll into windows/system32 folder?
Or exists another method to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

蓦然回首 2024-12-05 05:54:51

下面的链接指向 MSVCRT100 安装程序的正确下载。这可能是您希望客户在安装应用程序之前运行的内容。这会将 MSVCRT DLL 正确安装在正确的目录中,以便所有应用程序都可以使用它。

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

Microsoft Visual C++ 2010 Redistributable软件包 (x64)(仅当您的应用程序本身是 64 位时)

如果您确实想通过自己的 MSI 中的合并模块安装 MSVCRT100 DLL - 您可以将您的 MSI 链接到位于x86 版本的“c:\program files\common files\merge module”目录”(假设您安装了 Visual Studio 2010)。

C:\Program Files (x86)\Common Files\Merge Modules>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 Modules

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 复制到系统目录中,而是将其复制到您尝试启动的依赖于此 DLL 的 EXE 应用程序的目录中。不建议这样做,但不会冒破坏其他应用程序的风险。

另一种选择。如果您实际上拥有尝试启动的 EXE 的源代码,则只需静态链接到它就可以完全绕过所有这些“安装 msvcrt100.dll”噪音。在 Visual Studio 中,它是 C/C++ 下项目属性对话框中的选项(在“代码生成”选项卡下)。将“运行时库”从“多线程 Dll”更改为“多线程”。这会添加 /MT 编译器开关。

This links below point to the proper downloads for the MSVCRT100 installer. This is likely what you want your customers to run before installing your app. This will properly install the MSVCRT DLLs in the proper directory such that all applications can use it.

Microsoft Visual C++ 2010 Redistributable Package (x86) (probably what you need for 32-bit and 64-bit os)

Microsoft Visual C++ 2010 Redistributable Package (x64) (Only if your app itself is 64-bit)

If you actually want to install the MSVCRT100 DLLs through a merge module within your own MSI - you can link your MSI to the MSMs that are located in the x86 version your "c:\program files\common files\merge modules" directory" (Assuming you have Visual Studio 2010 installed).

C:\Program Files (x86)\Common Files\Merge Modules>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 Modules

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

Two other alternatives:
Instead of copying MSVCRT100.dll into a system directory, copy it into the directory of the EXE app you are trying to launch that depends on this DLL. This isn't recommended, but won't run the risk of breaking other apps.

Another alternative. If you actually have the source code to the EXE that you are trying to launch, you can completely bypass all of this "install msvcrt100.dll" noise by just statically linking to it. In visual studio, it's the option in the project's propery dialog under C/C++ (under the Code Generation tab). Change "runtime library" from "Multi-threaded Dll" to just "Multi-threaded". This adds the /MT compiler switch.

美人迟暮 2024-12-05 05:54:51

无论您尝试启动什么程序,都必须首先正确安装。 Msvcr100.dll是使用VS2010用C或C++编写的程序需要部署的DLL之一。使用安装和部署项目或使用 /MT 选项构建程序很简单。请联系程序所有者以获得支持。

Whatever program you're trying to start has to be properly installed first. Msvcr100.dll is one of the DLLs that need to be deployed for programs written in C or C++ with VS2010. It is simple with a Setup and Deployment project or by building the program with the /MT option. Contact the program owner for support.

雨的味道风的声音 2024-12-05 05:54:51

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

您是否从 C# 代码启动 C++ 应用程序?如果是这样,请确保客户端计算机上有适当的运行时可用。

what is missing is the Visual C++ runtime.

are you starting a C++ application from your C# code? if so, make sure the proper runtime is available on the client machines.

许久 2024-12-05 05:54:51

您应该能够通过复制并注册它(使用命令行:regsvr32“DLLNAME”)来修复此问题,或者您可以将其与可执行文件一起提供,它应该可以工作

警告:在将该文件包含到您的软件中之前,请参阅以下文章。 .. http://msdn.microsoft.com/en-us/library/ms235299.aspx

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

You should be able to fix this by copying it and registering it (with command line: regsvr32 "DLLNAME") or you can ship it with your executable and it should work

WARNING: Please consult the following article before including the file with your software... http://msdn.microsoft.com/en-us/library/ms235299.aspx

I take no responsibility for your actions

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文