开发者

Are there any registry entries that indicate whether a specific C Run-Time is already installed?

开发者 https://www.devze.com 2023-04-06 08:44 出处:网络
I\'ve been looking online and at my registry and I think not, but it would be nice if we could get a definitive answer on here.

I've been looking online and at my registry and I think not, but it would be nice if we could get a definitive answer on here.

Just the run time, as in for re-use on the client side.

I see it is possible for VC10, http://blogs.msdn.com/b/astebner/archive/2010/05/05/10008146.aspx, but prior to that we need to call the MsiQueryProduc开发者_如何转开发tState API. Perhaps just give all the clients MSVCR100.DLL already?


The most common practice is to install the CRT your application was built with, regardless.

I think this practice comes from the v90 and lower CRTs, because there were multiple versions of each redistributable that could be installed, and though MSVCR90.DLL exists on the system, it may not be the version your application uses.

I believe this was changed with the v100 CRT, and now Microsoft guarantees that newer versions of the CRT will be usable in place of an older version, but I would still attempt to install the CRT your application was linked with.


It is still possible to do a private install of the Dll's into the application's folder. I recently installed 3 different version of the VC9 runtime when I was setting up my Visual Studio Express environments. All show up in Control Panel and appear to be readily removable.

For that reason I believe the current best practise to be to perform a private install (I think that is the terminolgy MS uses) of the required DLL's (for managed code you need the managed DLL and the native version) in tha app's folder.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号