在Visual Studio 2008 SP1中,是否可以将C++ COM项目定位到vcredist 2008而不是vcredist 2008 SP1?使用vcredist的特定版本?
我们的客户有vcredist 2008年安装,我们不想强迫他们安装vcredist 2008 SP1。 (十万台电脑!)
在Visual Studio 2008 SP1中,是否可以将C++ COM项目定位到vcredist 2008而不是vcredist 2008 SP1?使用vcredist的特定版本?
我们的客户有vcredist 2008年安装,我们不想强迫他们安装vcredist 2008 SP1。 (十万台电脑!)
VS2008实际上,在默认情况下,继续针对VS9 RTM REDIST。 依赖检查程序中发生的情况是,当安装VS9 SP1时,还会安装一个策略文件,该文件将重定向尝试将RTM可再发行组件加载到SP1可再发行组件。
为了获得VS9 SP1实际需要,你需要下面的宏添加到您的项目设置SP1运行时间或编译头:
#define _BIND_TO_CURRENT_CRT_VERSION 1
我想建议1.所创建的清单已经看起来像目标SP1之前: assemblyIdentity> 但是,当我检查依赖Walker它看起来仍然取决于9.0.30729.1(SP1)版本的文件? –
2009-06-05 09:38:35
+1给建议#3。这意味着C运行时将实际编译到您的可执行文件中。这将使exe有点大,但会消除任何vcredist的需要。如果大小确实让你担心,你可以尝试使用PGO将很少使用的代码推送到exe的后端。 – eran 2009-06-07 09:04:02