问题 如何在没有完整的visual studio 2005的情况下安装VC80CRT调试运行时?


我无法运行调试sdk应用程序,因为它需要CRT的VC 8和VC 9版本。但它只需要visual studio 2008 for plugin dev,这就是我所需要的。

如何将调试运行时从2005年安装到Windows7计算机上?我无法弄清楚如何使它们运行应用程序本地,也无法在没有可信安装程序的情况下将任何内容复制到winSxS文件夹中。


13004
2018-05-10 16:51


起源

我遇到过同样的问题。 Ganesh R.回答对我有用 - 无需安装Visual Studio只是为了获取运行时dll - sergtk


答案:


参考这个 岗位

根据这个,调试dll可以在以下位置找到:

对于Visual Studio 2005:

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

对于Visual Studio 2008:

C:\ Program Files \ Microsoft Visual   工作室   9.0 \ VC \ REDIST \ Debug_NonRedist \ X86

另外根据我所知,你不需要在WinSxS文件夹中有这些dll。即使这些dll与应用程序exe存在于同一目录中,也可以。 不建议在生产环境中使用调试dll。

如果您提升应用程序,请确保设置应用程序home / install目录的“Start in”路径或将VC ++调试dll的路径添加到PATH环境变量。


8
2018-05-10 17:03



我不是在生产环境中使用它。并使用exe将它们本地复制到该文件夹​​不起作用。 - Ben L
您是否收到了文件未找到的异常?您是否提升了应用程序?尝试将文件路径添加到PATH变量。还尝试将当前工作目录设置为包含dll的文件夹。否则,如果一切都失败,您可以尝试在该计算机上安装Visual Studio VC ++ Express。 - Ganesh R.
--------------------------- application.exe - 应用程序错误----------------- ----------应用程序无法正确启动(0xc0150002)。单击“确定”关闭应用程序。 - - - - - - - - - - - - - - 好 - - - - - - - - - - - ----- - Ben L
我最终安装了gui允许的最小的视觉工作室。这似乎解决了这个问题。但我只是把球踢到球场上。现在我在ntdll.dll上遇到异常。我也许会在另一个问题上发布这个。 - Ben L
对于较新的VC ++版本,数量会增加(例如2010 = ... Studio 10.0 \ VC \ redist \ Debug_NonRedist \ ... - 依此类推)。在x64上,这将在Program Files(x86)中。我把调试DLL放在C:\ Windows \ System32中,并且在裸机器上运行调试版本没有问题(没有VS,只是一个远程调试器)。 - Tomasz Gandor


您可以创建一个简单的安装项目(vdproj)拉入调试 合并模块

这适用于Visual Studio 2010(VS10),但是 2012(VS11)及更高版本不支持 :O(


2
2017-12-01 10:29



谢谢。今天早上又出现了这个问题。我需要支持一个旧的插件,我的新开发盒没有安装vs2005。 - Ben L
这是最佳解决方案,但仅当您的文件需要与计算机上最新运行时版本相同时才有效。在我的情况下,我有问题,因为文件需要VS2008没有运行时,但我的计算机上的合并模块只支持VS2008 SP1。我的解决方案是在开发者PC上安装没有SP1的VS2008以创建设置。 - David Gausmann


您必须安装visual studio才能获得调试CRT。一旦我们不再需要2005年或2008年,这将没有实际意义。


1
2018-01-16 23:09





您必须安装C ++编译器才能获得调试CRT,但您不必安装所有Visual Studio。而是使用Windows SDK的Web安装来安装编译器。 Windows 6 SDK包括VC8编译器,Windows 7 SDK包括VC9编译器,Windows 7.1 SDK包括VC10编译器。


1
2018-05-23 00:08



听起来和安装相比,SDK的有效负载大小一样糟糕? - Ben L
Windows 7.1 SDK编译器需要610.6MB的硬盘空间。您不必安装SDK的任何其他部分。 - Neil