c++ cli - Visual C++ 2010: Changes to MSVC runtime deployment (no more SxS with manifest) -



c++ cli - Visual C++ 2010: Changes to MSVC runtime deployment (no more SxS with manifest) -

where can find official note, kb article or other documentation describing changes visual studio 2010 c/c++ runtime linking , deployment policy?

under visual studio 2008 (with vc90 runtime) manifest embedded in native images, , runtime libraries deployed side-by-side assemblies (winsxs). caused problems when rebuilding native exe or library using vs 2008 sp1, in updated version of c++ runtime required embedded manifest.

for vs 2010 , msvcr100 runtime version, policy seems have changed completely.

the file msvcr100.dll , other c/c++ runtime libraries no longer install sxs assemblies. when compiling under vs2010, no runtime 'dependency' entry added embedded manifest, meaning version of msvcr100.dll might loaded @ runtime. on machines .net 4 installed, matching runtime named msvcr100_clr0400.dll, , won't loaded native code, though re-create renamed msvcr100.dll works fine. think means process c/c++ code have 2 versions of same c/c++ runtime loaded.

this seems important alter in policy, backtracking sxs deployment , manifest dependencies had under vs 2008. shed more lite on changed, , perhaps point documentation, readme or blog post describes these changes, motivation , related impact?

it think it's improve way - strong version manifest , sxs deployment nightmare - i'm surprised @ these unexpected , seemingly undocumented changes in vs 2010.

bonus question: how can compile c++/cli library under vs 2010 link msvcr100_clr0400.dll instead of msvcr100.dll? thought c++/cli assembly should run no dependencies other installed .net 4 (without static linking).

you answered of question, side-by-side deployment of crt nightmare got way many programmers in trouble. microsoft agreed , gave on vs2010 release. it's dll in c:\windows\system32, named msvcr100.dll. , msvcp100.dll, vcomp100.dll, atl100.dll, mfc100.dll, mfcm100.dll, other runtime back upwards dlls. way vs2003 , before editions. 1 time again user's burden sort out dll hell problem. person to the lowest degree able tend have budget pay support. unlike programmers need help free web site :)

but can help, app-local deployment 1 time again enabled, can deploy msvcr100.dll in same directory main exe. explicitly checked , forbidden in previous versions. app-local has niceties, isolates well-meant unfortunate updates break app. albeit responsible getting updates deployed prepare security hole. if that's uncomfortable deploy , rely on re-create in scheme directory.

do not seek link msvr100_clr0400.dll, that's private re-create utilize clr. much msvcr.dll private re-create utilize microsoft dlls. don't have .lib file need link these dlls.

visual-studio-2010 c++-cli winsxs msvcr100.dll

Comments

Popular posts from this blog

iphone - Dismissing a UIAlertView -

c# - Can ProtoBuf-Net deserialize to a flat class? -

javascript - Change element in each JQuery tab to dynamically generated colors -