现在的位置: 首页 > 综合 > 正文

什么是WinSxS?

2013年02月14日 ⁄ 综合 ⁄ 共 750字 ⁄ 字号 评论关闭
如何安装VC库?

一个看似简单,其实一点都不简单的问题。我一直以为放在应用程序的目录下是最好的,可以避免Dll Hell,其实不然!

这篇文章“Why does VC8 install libraries to WinSxS?”做了非常好的解释!原来微软也走过了很多的弯路。

VC6里,为了更新的方便,建议放在System32下。

VC7里,考虑到Dll Hell,建议放到应用程序的目录下。

VC8里,建议放到系统目录WinSxS下以保证更新方便,并使用Manifest支持不同版本Dll的共存。

总结一下就是,VC6和VC7库都最好安装到System32目录下。在2K系统里,VC8也安装到System32目录下。在XP以后的系统里,则安装到WinSxS目录下。安装VC8库的时候,建议使用Merge Module来安装,以正确的安装到WinSxS目录下。否则如果放在本地目录的话,记得把manifes文件也拷贝过来。

VC8库的安装可不那么简单,有很多技巧,有人还为此写了工具。

Bootstrapper for the VC++ 2005 Redists

不过又说SP1之后,问题没有那么复杂了,但是还是要了解得更多才好。

Visual C++ Application: How to use manifests and re-distributable assemblies?

Side by Side Assembly看起来是好东西,但是问题也不少,除了问题很难调试。

Diagnosing SideBySide failures

这一切都是我始料未及的,本来我只是想知道Windows目录下的WinSxS到底是什么回事的,搞到现在我还是没有找到WinSxS的微软官方文档。倒是意外的发现了一个微软的工具IExpress,可以用来制作自解压程序,找类似的免费工具很久了。

抱歉!评论已关闭.