Visual Studio 2005 security updates and CRT DLL versions in manifest

后端 未结 2 358
梦毁少年i
梦毁少年i 2021-01-12 23:44

Recent Visual Studio 2005 security updates may be causing problems for us.

We build and internally distribute SDKs written in C++. These SDKs are a collection of he

相关标签:
2条回答
  • 2021-01-13 00:05

    1) Yes it means the runtime is using both versions - something you never want to happen. It should only ever reference a single version of the DLL(s)

    2) There is a method that I've developed to force the version to be the SP1 version (without the security update). I've outlined it here

    3) You could disable manifests entirely and do them by hand, but I don't recommend this, as it's a pain to maintain different manifests for your debug and release, and it's an error-prone way of dealing with the problem. It would be better to use the workaround I mentioned in (2) above.

    0 讨论(0)
  • 2021-01-13 00:22

    As Ted says, at runtime your executable will be trying to use both versions of the DLL. This is probably because you haven't fully recompiled the entire project (or you are using external libraries that have been compiled to depend upon the .762 runtime).

    The good news is that if both these libraries are installed on your client systems then the side-by-side redirection policy will mean that only the latest is loaded. By far the more detrimental side-effect you will notice is when only one is installed (probably .762) that the application will fail to start with the old "application is not configured correctly, reinstalling may fix this problem" error message.

    Does this mean we must distribute both versions of the MSVC Runtime DLLs with this EXE?

    The easiest solution for you would probably be to just ship the latest version of the visual c++ runtime redistributable which you can get from the following link.

    http://download.microsoft.com/download/6/B/B/6BB661D6-A8AE-4819-B79F-236472F6070C/vcredist_x86.exe

    It can be a bit of a pain because it asks the user to click "I agree" on a EULA page and requires admin priveledges but by general consensus it is the best option if you can get the user to install it.

    0 讨论(0)
提交回复
热议问题