Windows有一个WinSXS目录,该目录存储一些系统文件的旧版本,以防您想回滚服务包或类似的文件。(这些文件作为硬链接存储,因此那里的许多文件指向与当前系统文件相同的磁盘区域)。
它还有一个卷快照服务,它保存整个NTFS卷的旧版本的快照。我的理解是,这是用于备份工具之类的东西,它们希望看到整个卷内容的瞬间快照。
我可以看到,它们是完全不同的东西,而且是出于不同的目的,但它似乎仍然是重复。有人能解释为什么这些特性中的一个不能满足所有的需求吗?
发布于 2013-07-24 15:33:17
WinSxS不是旧系统文件的备份。它是Dll地狱问题的一个解决方案。它允许MS和第三方开发人员安装同一个dll的多个版本,而不会与已经安装的软件发生冲突,甚至可以同时将不同版本的dll加载到同一二进制文件中,并由激活上下文机制控制。在基本级别上,您可以将其视为路径变量的细粒度控制。已安装的程序集不是备份,而是同时使用,如果需要的话,可以并排使用。
在linux上,如果要以二进制形式发布一个库外应用程序,可以使用rpath实现类似的效果。尽管这没有那么灵活(也不那么复杂)。
在引入WinSxS之前,唯一的其他方法是在每个可执行文件的基础上在注册表中使用App路径设置。这些问题在实用性上受到限制,并且受到MAX_PATH问题的困扰(就像Win32上的许多问题一样)。
卷快照是一个备份,它允许您在发生问题时将系统恢复到以前的状态。快照不能在正常操作期间访问。而且,删除所有快照以释放空间是不应该阻塞您的系统的。:)
https://stackoverflow.com/questions/17831950
复制相似问题