<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx</link><description>One of the changes introduced by Visual C++ 2005 is a change in how we deploy the Visual C++ Runtime Libraries (CRT, MFC, ATL). Deployment of the runtimes has been a complex and controversial question across many versions. What we&amp;#8217;ve attempted to</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#482252</link><pubDate>Tue, 18 Oct 2005 17:41:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:482252</guid><dc:creator>Bob</dc:creator><description>Are there plans to deploy the WinSxS Visual Studio 8.0 libraries as an optional Windows Update?</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#483613</link><pubDate>Sat, 22 Oct 2005 01:12:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:483613</guid><dc:creator>martynl</dc:creator><description>Nope, we don't have plans to do that. Application authors should redistribute the VC8 libraries their application needs as part of their application. [This is the same policy we've had for several versions -- only the VC6 msvcrt.dll was part of Windows].&lt;br&gt;&lt;br&gt;Martyn&lt;br&gt;</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#483781</link><pubDate>Sat, 22 Oct 2005 17:59:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:483781</guid><dc:creator>Mike</dc:creator><description>Here's what I worry about: downlevel DLL Hell. The recommended approach is to install 8.0 DLLs in system32 on Windows 2000.  Now that those libs are not under file protection (unlike MFC42.DLL and MSVCRT.DLL which is protected in Win2K), any app can come around and overwrite, or worse, uninstall it, breaking your app.    &lt;br&gt;&lt;br&gt;What is the recommended solution for this?    &lt;br&gt;&lt;br&gt;Should we have two levels, i.e. an app copy of these DLLs and a system32 copy of these DLLs and have a fallback to the app copy?  &lt;br&gt;&lt;br&gt;</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#484882</link><pubDate>Wed, 26 Oct 2005 01:33:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:484882</guid><dc:creator>martynl</dc:creator><description>Yep, we worry about DLL hell too. That was another of the key motivators behind our move to fusion.&lt;br&gt;&lt;br&gt;But, as you note, it doesn't help our story on Windows 2000 or Windows 98. &lt;br&gt;&lt;br&gt;If you followed our recommendations in VC7 (and installed your DLLs local to your application), you were somewhat better protected. But we have no way to perform emergency servicing on those DLLs.&lt;br&gt;&lt;br&gt;So for these older platforms, we reverted back to the policy of installation in system32. &lt;br&gt;&lt;br&gt;On these older OSes, it definitely is possible for a rogue application to uninstall msvcr80.dll or to replace a newer version with an older version. But if the application uses our MSMs for central install (which is the only setup model we license and support), then the install will be performed correctly.&lt;br&gt;&lt;br&gt;I wouldn't recommend having a 'backup' copy in your application directory, since this can't even mitigate the problem of installation of an older verison in the central location. With various loading rules in effect, it could even cause two copies of the DLL to be loaded (in unusual cases). &lt;br&gt;&lt;br&gt;Your best mitigation against people whose setups break the rules is to support the MSI repair functionality and harden your application to be able to fix itself when others break it.&lt;br&gt;&lt;br&gt;Martyn </description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#487370</link><pubDate>Mon, 31 Oct 2005 21:07:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:487370</guid><dc:creator>Anonymous Coward</dc:creator><description>The problem is, not everybody wants to use MSI.  Merge modules don't help if you use InnoSetup, NSIS, or simple XCOPY.  There is no documented API for adding an assembly to WinSxS.</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#488276</link><pubDate>Wed, 02 Nov 2005 20:00:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:488276</guid><dc:creator>Matt Godbolt</dc:creator><description>I have to agree with the Anonymous Coward - I'm looking at moving our products to being built in VC8, and we use NSIS for our installations.  Currently I can't see any way of getting the CRT libraries redistributed short of reverse engineering the MSI way of installing - if I place the CRT DLLs in the app path various exceptions about 'you must use the new way' are thrown!</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#488295</link><pubDate>Wed, 02 Nov 2005 20:27:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:488295</guid><dc:creator>Mike</dc:creator><description>To Matt and AC: I understand the pain with MSI - we don't even use it unless necessary.  The best way to deal with this would be to use the merge modules to great a .MSI file which you can then launch silently from your non MSI based install.   All supported platforms will have the necessary Windows Installer service to do this (I believe).  A way to create this standalone MSI quickly and easily was found at this URL:&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/nikolad/archive/2005/09/02/460368.aspx"&gt;http://blogs.msdn.com/nikolad/archive/2005/09/02/460368.aspx&lt;/a&gt;</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#488328</link><pubDate>Wed, 02 Nov 2005 21:24:13 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:488328</guid><dc:creator>martynl</dc:creator><description>There is no need to use MSI to use this solution. We provide two non-MSI solutions. &lt;br&gt;&lt;br&gt;First, the product includes an EXE installer that installs everything to WinSxS. So you can use that if you prefer. You can find that here on your install:&lt;br&gt;&lt;br&gt;X:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\vcredist_x86&lt;br&gt;&lt;br&gt;However, if you want to install-applocal, you should make sure that your application has a manifest, and then copy the whole of this folder into your EXE directory:&lt;br&gt;&lt;br&gt;X:\Program Files\Microsoft Visual Studio 8\VC\redist\x86\Microsoft.VC80.CRT&lt;br&gt;&lt;br&gt;and other folders if you use more than the CRT. Make sure you include the manifest.&lt;br&gt;&lt;br&gt;Martyn Lovell&lt;br&gt;Development Lead&lt;br&gt;Visual C++ Libraries&lt;br&gt;&lt;a rel="nofollow" target="_new" href="http://blogs.msdn.com/martynl"&gt;http://blogs.msdn.com/martynl&lt;/a&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#488337</link><pubDate>Wed, 02 Nov 2005 21:35:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:488337</guid><dc:creator>Mike</dc:creator><description>Martyn, &lt;br&gt;&lt;br&gt;Thanks for that - I guess I should read the help.  There is a great help topic here:&lt;br&gt;&lt;br&gt;[URL]ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_vccore/html/8d1a994b-9986-4171-9c0b-56d24808fd1f.htm[/URL]&lt;br&gt;&lt;br&gt;and </description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#490355</link><pubDate>Tue, 08 Nov 2005 18:32:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:490355</guid><dc:creator>Graham Harwood</dc:creator><description>Martyn,&lt;br&gt;We've encountered a difference in the RTM msm's from the Beta2 in that an extra custom action SxsInstallCA has appeared but is not in the binary table. This causes msi's built with the release vc80_crt to fail on the missing custom action on Windows 2000 installs.&lt;br&gt;Did I miss something? Installing the Dot Net framework fixes it but this can't be a pre-requisite can it?&lt;br&gt;&lt;br&gt;Graham</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#490411</link><pubDate>Tue, 08 Nov 2005 20:43:53 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:490411</guid><dc:creator>Graham Harwood</dc:creator><description>re. SxsInstallCA above:&lt;br&gt;&lt;br&gt;I think I might have answered my question. The custom action is provided in MSI Version 3.1. &lt;br&gt;&lt;br&gt;Maybe someone can point me to where this change/requirement was documented as I didn't see it.&lt;br&gt;&lt;br&gt;&lt;br&gt;/Graham</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#496828</link><pubDate>Fri, 25 Nov 2005 04:34:26 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:496828</guid><dc:creator>Yuhong Bao</dc:creator><description>Why you kept the servicing relationship for DLLs the same as static libraries?</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#496830</link><pubDate>Fri, 25 Nov 2005 04:42:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:496830</guid><dc:creator>Yuhong Bao</dc:creator><description>The same thing would happen if the software was built using Visual C++ 5.0 or 4.2. What happens if the bug was specfic to the Windows 2000 or later version of the DLLs? And why does Windows XP still use msvcrt.dll in system components?</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#502691</link><pubDate>Mon, 12 Dec 2005 15:59:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:502691</guid><dc:creator>Thomas Olsson</dc:creator><description>We ran into two problems here:&lt;br&gt;1) Windows Installer 3.x is needed (it seems like XP SP2 is enough and that is Windows Installer 3.0 and not 3.1?) Did anyone find where this new requirement is documented.&lt;br&gt;&lt;br&gt;2) This is a major problem: The new merge modules for CRT, ATL80 etc. prevents Per User installations. They require Per Machine installations. This is a major problem for us.&lt;br&gt;&lt;br&gt;</description></item><item><title>re: Why does VC8 install libraries to WinSxS?</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#506528</link><pubDate>Thu, 22 Dec 2005 01:22:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:506528</guid><dc:creator>Yuhong Bao</dc:creator><description>You mentioned SQL Slammer.&lt;br&gt;Microsoft Update didn't exist at this time, but if it existed and supported MSDE then, the security update could have been published thru that.</description></item><item><title>Win64 Code Migration : CRT Library and VC++ 8 Manifest Build/Deploy Guidance </title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#864348</link><pubDate>Mon, 23 Oct 2006 20:59:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:864348</guid><dc:creator>Developer Blog</dc:creator><description>&lt;p&gt;The Visual C++ 8 libraries (CRT, MFC, ATL, etc.) now support the Shared Side-by-Side Assemblies...&lt;/p&gt;
</description></item><item><title>Q&amp;A on adapting VS2005 SP1 to build your applications</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#1639730</link><pubDate>Sat, 10 Feb 2007 05:18:35 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1639730</guid><dc:creator>Nikola Dudar's WebLog</dc:creator><description>&lt;p&gt;When VS2005 SP1 has been released because of manifests it become more visible what version of VC++ DLLs&lt;/p&gt;
</description></item><item><title>Arthur Hsu&amp;#8217;s Blogs  &amp;raquo; Blog Archive  &amp;raquo; The solution to DLL hell is hellish</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#1824554</link><pubDate>Wed, 07 Mar 2007 07:45:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1824554</guid><dc:creator>Arthur Hsu’s Blogs  » Blog Archive  » The solution to DLL hell is hellish</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.cchsu.com/art-en/2007/03/07/56/"&gt;http://www.cchsu.com/art-en/2007/03/07/56/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Arthur Hsu&amp;#8217;s Blogz  &amp;raquo; Blog Archive  &amp;raquo; ?????? DLL Hell ???????????? &amp;#8230; ??????????????? Hell &amp;#8230;</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#1824708</link><pubDate>Wed, 07 Mar 2007 08:06:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1824708</guid><dc:creator>Arthur Hsu’s Blogz  » Blog Archive  » ?????? DLL Hell ???????????? … ??????????????? Hell …</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.cchsu.com/arthur/2007/03/07/127/"&gt;http://www.cchsu.com/arthur/2007/03/07/127/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>C++ Application failed to start after Visual Studio upgrade | Blogging about Open Software Solutions</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#7778036</link><pubDate>Mon, 18 Feb 2008 21:45:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7778036</guid><dc:creator>C++ Application failed to start after Visual Studio upgrade | Blogging about Open Software Solutions</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://ossmall.info/2008/02/18/c-application-failed-to-start-after-visual-studio-upgrade/"&gt;http://ossmall.info/2008/02/18/c-application-failed-to-start-after-visual-studio-upgrade/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>winsxs policies</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#8764613</link><pubDate>Tue, 22 Jul 2008 21:35:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8764613</guid><dc:creator>winsxs policies</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://antonioblogroll.freemysqlphphosting.com/winsxspolicies.html"&gt;http://antonioblogroll.freemysqlphphosting.com/winsxspolicies.html&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Porting to Visual C++ 2005 (aka Whidbey) ?  &amp;laquo; Computing Life</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#9024249</link><pubDate>Thu, 30 Oct 2008 14:29:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9024249</guid><dc:creator>Porting to Visual C++ 2005 (aka Whidbey) ?  &amp;laquo; Computing Life</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://computinglife.wordpress.com/2008/10/30/porting-to-visual-c-2005-aka-whidbey/"&gt;http://computinglife.wordpress.com/2008/10/30/porting-to-visual-c-2005-aka-whidbey/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Constructopaedia Why does VC8 install libraries to WinSxS | Outdoor Ceiling Fans</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#9668553</link><pubDate>Sun, 31 May 2009 13:58:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9668553</guid><dc:creator> Constructopaedia Why does VC8 install libraries to WinSxS | Outdoor Ceiling Fans</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://outdoorceilingfansite.info/story.php?id=2957"&gt;http://outdoorceilingfansite.info/story.php?id=2957&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Constructopaedia Why does VC8 install libraries to WinSxS | Outdoor Ceiling Fans</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#9669952</link><pubDate>Sun, 31 May 2009 18:12:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9669952</guid><dc:creator> Constructopaedia Why does VC8 install libraries to WinSxS | Outdoor Ceiling Fans</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://outdoorceilingfansite.info/story.php?id=20593"&gt;http://outdoorceilingfansite.info/story.php?id=20593&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Constructopaedia Why does VC8 install libraries to WinSxS | alternative dating</title><link>http://blogs.msdn.com/martynl/archive/2005/10/13/480880.aspx#9768299</link><pubDate>Wed, 17 Jun 2009 10:48:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9768299</guid><dc:creator> Constructopaedia Why does VC8 install libraries to WinSxS | alternative dating</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://topalternativedating.info/story.php?id=5595"&gt;http://topalternativedating.info/story.php?id=5595&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>