如何在没有完整的Visual Studio 2005的情况下安装VC80CRT调试运行库?

11

我无法运行Debug版本的SDK应用程序,因为它需要 VC 8 和 VC 9 版本的 CRT。但是对于插件开发,它仅需要 Visual Studio 2008,这正是我需要的。

我该如何在 Windows7 上安装2005年的Debug运行时?我无法弄清楚如何使它们在应用程序本地运行,也无法将任何内容复制到winSxS文件夹中,除非有受信任的安装程序。


我遇到了同样的问题。Ganesh R. 的答案对我有用 - 不需要安装 Visual Studio 就可以获取运行时 dlls。 - sergtk
4个回答

8

请参考此文章

根据此,可以找到调试dll:

对于Visual Studio 2005:

C:\ Program Files \ Microsoft Visual Studio 8 \ VC \ redist \ Debug_NonRedist \ x86

对于Visual Studio 2008:

C:\ Program Files \ Microsoft Visual Studio 9.0 \ VC \ redist \ Debug_NonRedist \ x86

根据我的了解,您不需要将这些dll放在WinSxS文件夹中。即使这些dll与应用程序exe位于同一目录中,也可以使用。 无论如何,在生产环境中使用调试dll都是不推荐的。

如果您提升应用程序,请确保将“启动路径”设置为应用程序主目录/安装目录,或将VC ++调试dll的路径添加到PATH环境变量中。


我没有在生产环境中使用这个。将它们复制到带有exe的文件夹中也不起作用。 - Ben L
你是否收到了“文件未找到”异常?是否以管理员身份运行应用程序?尝试将文件路径添加到PATH变量。同时,尝试将当前工作目录设置为包含dll的文件夹。否则,如果一切都失败了,可以尝试在该机器上安装Visual Studio VC ++ Express。 - Ganesh R.

应用程序.exe - 应用程序错误

该应用程序无法正确启动(0xc0150002)。单击“确定”关闭应用程序。

确定
- Ben L
我最终安装了GUI允许的最小的Visual Studio。这似乎解决了这个问题。但我只是把球踢到了前面。现在我在ntdll.dll处收到一个异常。也许我会在另一个问题中发布这个。 - Ben L
随着较新版本的VC++,数字逐渐增长(例如2010=... Studio 10.0\VC\redist\Debug_NonRedist...等)。在x64上,这将位于Program Files (x86)。我将调试DLL放在C:\Windows\System32中,在一个没有VS的裸机上运行调试构建时没有任何问题(只有远程调试器)。 - Tomasz Gandor

2
您可以创建一个简单的设置项目(vdproj),该项目会引入调试合并模块
这在 Visual Studio 2010 (VS10) 中可以正常工作,但是在2012(VS11)及以后版本中不受支持 :o(。

谢谢。今天早上又遇到了这个问题。我需要支持一个旧的插件,但我的新开发工具箱没有安装VS2005。 - Ben L
这是最好的解决方案,但它仅在您的文件需要与计算机上最新运行时版本相同的情况下才有效。在我的情况下,我遇到了问题,因为该文件需要没有运行时的VS2008,但我的计算机上的合并模块仅支持VS2008 SP1。 我的解决方案是在开发人员PC上安装没有SP1的VS2008来创建设置。 - David Gausmann

2

你必须安装Visual Studio才能获得调试CRT。随着我们不再需要2005或2008,这将变得无关紧要。


1

您需要安装C++编译器以获取调试CRT,但不必安装完整的Visual Studio。相反,使用Windows SDK的网络安装程序来安装编译器。Windows 6 SDK包括VC8编译器,Windows 7 SDK包括VC9编译器,而Windows 7.1 SDK则包括VC10编译器。


这听起来和安装vs一样糟糕。SDK的有效载荷大小是多少? - Ben L
Windows 7.1 SDK编译器需要610.6MB的硬盘空间。您不必安装SDK的其他部分。 - Neil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接