首先先向冥大神和他的妻子问好,并且欢迎他们来到显卡吧0.0
因为冥夫人好像最近很忙,所以就不召唤了0.0
就请冥大神替我向她问好0.0
可以的话,希望冥大神可以解释原理,并且也在这里发布工具吧0.0
@zifeityzyicq
----
请别对于任何人人身攻击,尤其是作者,谢谢合作
本帖准备了mark“马克”楼,请到相关帖子楼中楼mark,不用一直刷mark“马克”回复,谢谢0.0
----基础
先从基础开始
WinSxS(Side-by-side assembly),是从Windows 98开始有的,目标就是解决DLL Hell
DLL Hell,就是因为dll版本+某些东西更动了,而导致软件无法运行,一般上最大的问题就是安装其他软件的时候,覆盖了电脑原有的版本,而导致其他软件不能运行,反过来的话,也是安装的软件也不能运行
不知道这样的比喻会不会适合,毕竟不是编写软件的0.0
人=软件
门锁=dll
当你把一个门锁换了,这样没有钥匙的人就进不来了0.0
除此之外,还有很多问题,自己去百度一下吧0.0
回到WinSxS
为了解决上面的问题,windows准备了一个仓库,也就是WinSxS文件夹,来储存各个版本的dll
好处就是不怕dll会被覆盖导致软件无法运行等等
坏处就是占用空间过大
每次更新Windows,也就是每个月的其中一个星期二运行WU(WIndows Update)更新系统文件,使用新版的文件替代旧文件以修复漏洞和bug时,把旧的文件放入WinSxS,在软件调用出问题可以提供旧的版本
不过现在很少软件会遇到这样的问题了
一般上。Windows Update的补丁类型就是GDRs(General Distribution Release),比LDR经过多次的测试
而自己到官方下载的hotfixes就是LDRs(Limited Distribution Release),针对一部分硬件才会出现问题的修复补丁,一般上要到官网提供email下载
Deployment Image Servicing and Management (DISM)
这个太复杂了我目前解释不出来,毕竟我不是汉化机器0.0
----原理猜测
就是清理WinSxS+其他垃圾文件
不过我没需要清理,也没有虚拟机来测试清理,所以一切只是猜测0.0
如果使用ProcessMonitor没看错的话
WinSxS的清理方法如下(以下为最新泄漏版? 2013-4-28的运行方法)
1.从HKLM\COMPONENTS\DerivedData\Components或者使用DISM获取WinSxS列表和分类等等
2.归类
3.排除最新版+非相关文件
4.删除旧文件+提交更新,让系统知道文件已经移除
Metro App
1.使用DISM.EXE /Online /Get-ProvisionedAppxPackages获取?
2.扫描C:\Program Files\WindowsApps\
3.归类+排除安装的Metro APPs?
4.清除没在DISM获取的文件?
----坏处
应该就是没得卸载补丁+sfc /scannow出现一些问题,没了0.0
----win 8建议
PS:这些方法目前没回头草可以吃,除非有把握,否则别乱使用0.0
可以直接运行dism /online /Cleanup-Image /StartComponentCleanup,直接使用官方隐藏的手段清理过期的补丁文件
也可以使用从win 98人家就经常运行来清理文件,可爱的cleanmgr.exe进行压缩+清理0.0
图片来自:BenYeeHua的百度相册当然,在我这里他是显示2.23GB,并且在分析Windows Update Cleanup的时候,运行了TiWorker.exe
----Win 7&8合用
还有一个,你们应该还记得Windows Feature吧?
图片来自:BenYeeHua的百度相册先使用DISM.exe /Online /English /Get-Features /Format:Table获取list
然后使用DISM.exe /Online /Disable-Feature /Featurename:<name> /Remove来移除你不需要的功能
比如DISM.exe /Online /Disable-Feature /Featurename:SimpleTCP /Remove
对了,别无聊到清理NetFx3之类的,否则导致软件无法正常运行别怪我0.0
----吧友建议
以后提供工具时,请80%确认是最新版,然后列出已知问题+原作者+官方发布地址,谢谢0.0
小知识:这个软件是使用c++编写的0.0
因为冥夫人好像最近很忙,所以就不召唤了0.0
就请冥大神替我向她问好0.0
可以的话,希望冥大神可以解释原理,并且也在这里发布工具吧0.0
@zifeityzyicq
----
请别对于任何人人身攻击,尤其是作者,谢谢合作
本帖准备了mark“马克”楼,请到相关帖子楼中楼mark,不用一直刷mark“马克”回复,谢谢0.0
----基础
先从基础开始
WinSxS(Side-by-side assembly),是从Windows 98开始有的,目标就是解决DLL Hell
DLL Hell,就是因为dll版本+某些东西更动了,而导致软件无法运行,一般上最大的问题就是安装其他软件的时候,覆盖了电脑原有的版本,而导致其他软件不能运行,反过来的话,也是安装的软件也不能运行
不知道这样的比喻会不会适合,毕竟不是编写软件的0.0
人=软件
门锁=dll
当你把一个门锁换了,这样没有钥匙的人就进不来了0.0
除此之外,还有很多问题,自己去百度一下吧0.0
回到WinSxS
为了解决上面的问题,windows准备了一个仓库,也就是WinSxS文件夹,来储存各个版本的dll
好处就是不怕dll会被覆盖导致软件无法运行等等
坏处就是占用空间过大
每次更新Windows,也就是每个月的其中一个星期二运行WU(WIndows Update)更新系统文件,使用新版的文件替代旧文件以修复漏洞和bug时,把旧的文件放入WinSxS,在软件调用出问题可以提供旧的版本
不过现在很少软件会遇到这样的问题了
一般上。Windows Update的补丁类型就是GDRs(General Distribution Release),比LDR经过多次的测试
而自己到官方下载的hotfixes就是LDRs(Limited Distribution Release),针对一部分硬件才会出现问题的修复补丁,一般上要到官网提供email下载
Deployment Image Servicing and Management (DISM)
这个太复杂了我目前解释不出来,毕竟我不是汉化机器0.0
----原理猜测
就是清理WinSxS+其他垃圾文件
不过我没需要清理,也没有虚拟机来测试清理,所以一切只是猜测0.0
如果使用ProcessMonitor没看错的话
WinSxS的清理方法如下(以下为最新泄漏版? 2013-4-28的运行方法)
1.从HKLM\COMPONENTS\DerivedData\Components或者使用DISM获取WinSxS列表和分类等等
2.归类
3.排除最新版+非相关文件
4.删除旧文件+提交更新,让系统知道文件已经移除
Metro App
1.使用DISM.EXE /Online /Get-ProvisionedAppxPackages获取?
2.扫描C:\Program Files\WindowsApps\
3.归类+排除安装的Metro APPs?
4.清除没在DISM获取的文件?
----坏处
应该就是没得卸载补丁+sfc /scannow出现一些问题,没了0.0
----win 8建议
PS:这些方法目前没回头草可以吃,除非有把握,否则别乱使用0.0
可以直接运行dism /online /Cleanup-Image /StartComponentCleanup,直接使用官方隐藏的手段清理过期的补丁文件
也可以使用从win 98人家就经常运行来清理文件,可爱的cleanmgr.exe进行压缩+清理0.0
![](http://imgsrc.baidu.com/forum/w%3D580/sign=002a2a6d91ef76c6d0d2fb23ad17fdf6/15a33b292df5e0fe7cd2714d5d6034a85cdf72f5.jpg)
----Win 7&8合用
还有一个,你们应该还记得Windows Feature吧?
![](http://imgsrc.baidu.com/forum/w%3D580/sign=9e316a93cf1b9d168ac79a69c3dfb4eb/05429825bc315c60dc5f93a38cb1cb134b5477f5.jpg)
然后使用DISM.exe /Online /Disable-Feature /Featurename:<name> /Remove来移除你不需要的功能
比如DISM.exe /Online /Disable-Feature /Featurename:SimpleTCP /Remove
对了,别无聊到清理NetFx3之类的,否则导致软件无法正常运行别怪我0.0
----吧友建议
以后提供工具时,请80%确认是最新版,然后列出已知问题+原作者+官方发布地址,谢谢0.0
小知识:这个软件是使用c++编写的0.0