VC++: KB971090 and selecting Visual C Runtime DLL dependencies

允我心安 提交于 2019-12-09 15:59:03

问题


As you might know, Microsoft recently deployed a security update for Visual Studio: KB971090.

Among other things, this updated the Visual C Runtime DLL from version 8.0.50727.762 to 8.0.50727.4053.

So after this update, everything I compile that uses the runtime dynamically linked, gets their dependencies updated to the new runtime.

Of course, for new applications it is fine to update to the new, presumably more secure, version.

But I would also like to be able to retain the old dependency - for example, I might like to build a fixpack that only require a single DLL to be replaced (if I try to do that after the update, I will get the dreaded "This application has failed to start because the application configuration is incorrect." unless I also distribute the updated runtime).

Is there any way to do this, or will I need to retain two installations of Visual Studio: one updated and one non-updated?


回答1:


You can specify the version by using the workaround found here




回答2:


You can turn off autogenerated manifest and include your own with the library version you need.

For example:

<dependency><dependentAssembly><assemblyIdentity type="win32" name="Microsoft.VC90.DebugCRT" version="9.0.21022.8" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b"></assemblyIdentity></dependentAssembly></dependency>


来源:https://stackoverflow.com/questions/1238376/vc-kb971090-and-selecting-visual-c-runtime-dll-dependencies

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!