我们是一线战友!——初雨团队全球第一款基于CBS(ComponentBasedServicingReference)DismGUI实现1.关于Dism++欢迎到@live.com反馈你的意见。也可以加入软件交流群,大家一起交流。QQ群:200783396(敲门砖临安初雨一夜落红)Dism++的发展史2012/11,Windows更新清理工具问世2013/10,Dism管理器问世,升级为DismAPI调用2014/10,Dism++问世,升级为DismCore调用2015/8,Dism++10.1,升级为CbsCore调用1.1.什么是Dism++?Dism++是一款系统实用工具,主打清理+制定!Dism++独有更新清理、过期驱动清理、Appx清理等功能可以让系统不在慢性增大,而CompactOS功能通过哈夫曼算法(一种不牺牲性能,却明显减少体积是压缩算法),让系统盘直接增加33%以上的可用空间。Dism++还支持添加删除更新、调整Windows功能、设置服务状态、WIM/ESD文件处理(ESD解密、ESD转ISO、系统备份还原等)„„Dism++可以说是一个Dism的GUI版,但是Dism++并不依赖Dism相关组件。Dism++直接基于更加底层的CBS核心,因此无需任何Dism组件即可兼容所有高低版本系统,甚至是Vista!你无需为不同Dism版本之间的兼容性而困扰~PS:为什么我们主打清理+制定呢?那是因为Dism++自身的清理功能很多都是从一些制定管理功能上演变的。比如更新清理,其实就是添加删除更新的友好化。驱动清理则是驱动管理的友好化。换句话说如果不知道那些东西是如何管理的,又怎么知道怎么清理呢?因此对于一般用户,单纯使用清理功能即可。而高级用户则可以考虑使用高级管理功能。1.2.Dism++运行要求最小运行平台:WindowsVista、Windows2008或者更高推荐运行平台:Windows7、Windows2008R2或者更高(虚拟内存4G或者更高)温馨提示:如果运行平台为WindowsVista或者Windows2008时,Dism++的某些功能将无法使用,比如CompactOS。温馨提示:关闭虚拟内存时,WIM转ESD功能可能会因为内存不足而崩溃。温馨提示:在没有WOW64支持的环境中(比如纯64PE),将导致Dism++无法离线处理32位系统。操作系统具体特性支持情况功能最低要求功能名称WindowsVista、Windows2008“从ISO释放/还原系统”至少需要Windows8HostDism++目前没有添加Vista更新数据库,因此WindowsUpdate无法扫描Vista/20081:更新清理以及添加删除更新2:打开关闭功能3:创建保存修改WIM、ESD以及ESD解密4:系统热备份以及热还原5:服务管理6:BCD引导修复7:WindowsUpdate8:系统优化功能9:从ISO释放/还原系统Windows7、Windows2008R2“WIMBoot/Compact”至少需要Windows7Host10:驱动清理以及驱动管理11:WimBootOS12:CompactOSWindows8、Windows2012Dism++目前没有添加Win8更新数据库,因此WindowsUpdate无法扫描Win8/201213:删除功能14:Appx管理以及过期Appx清理15:健康扫描以及恢复Windows8.1、Windows2012R216:完整的更新清理支持(即ResetBase)Windows10、Windows2016至少需要Windows8Host才能正常处理Windows1017:可选功能1.3.Dism++文件列表温馨提示:Dism++在空间回收中已经内置了对自身的清理规则,如果你想不了解具体细节,请直接使用空间回收——Dism++非必需文件文件名称功能说明Dism++x64.exe64位系统的UI,在64位系统中,启动此程序呈现UI。32位系统用户可以考虑删除此文件。Dism++x86.exe32位系统的UI,如果你在64位系统中启动此程序,则自动转向到Dism++x64.exe。64位系统用户可以考虑删除此文件。Config\amd64\bcdboot.exe提供引导修复功能,原版系统自带此文件,删除没有影响。原版系统用户以及32位系统用户可以删除此文件。Config\x86\bcdboot.exe提供引导修复功能,原版系统自带此文件,删除没有影响。原版系统用户以及64位系统用户可以删除此文件。Config\amd64\CBSHost.dllDism++API支持模块,删除后64位系统将无法使用Dism++。32位用户可以删除此文件。Config\x86\CBSHost.dllDism++API支持模块,删除后32位系统将无法使用Dism++,64位系统无法脱机处理32位系统。不需要脱机处理32位系统的64位用户可以考虑删除。Config\amd64\DuiLib.dllDuilib支持库,为Dism++x64.exe提供UI支持。32位用户可以删除此文件。Config\x86\DuiLib.dllDuilib支持库,为Dism++x86.exe提供UI支持。64位用户可以删除此文件。Config\amd64\wimgapi.dllWIM文件操作支持模块,Win10用户、32位用户或者不需要任何WIM相关功能的用户,那么可以考虑删除。Config\x86\wimgapi.dllWIM文件操作支持模块,Win10用户、64位用户或者不需要任何WIM相关功能的用户,那么可以考虑删除。Config\amd64\wofadk.sysConfig\x86\wofadk.sys提供Compact功能相关支持,不需要脱机处理的Win10用户可以考虑删除此文件。强烈建议不要删除这些文件。Config\PluginsDism++插件支持,不需要插件的用户可以删除此文件。Config\LanguagesDism++的语言文件,以中国为例,只保留zh-Hans.xml即可。Config\Data.xml此文件保存了清理规则,ESD解密KEY等。此文件不允许删除。Config\winapp1.ini此文件保存了CCleaner的清理规则,删除此文件后Dism++将无法使用CCleaner的规则。可以考虑删除。Config\default.ui.zip此文件保存了Dism++的UI。此文件不允许删除。Config\wsusscn2.cabWindowsUpdate数据库文件,用于扫描更新。可以考虑删除。如果你发现某些文件不在此列表中,可能是某些老版本Dism++遗留的文件或者是Dism++的临时文件,直接删除即可,不影响程序功能。1.4.Dism++组件移植情况由于Dism++不依赖微软Dism,因此所有功能必须自己移植完成。以下是Dism++的移植情况:操作系统组件名称功能说明移植状态NT6.1新增CbsProvider.dll提供添加删除更新支持已完成,已应用于更新管理、WindowsUpdate、可选功能、以及更新清理DmiProvider.dll提供驱动管理支持已完成,已应用于驱动管理、以及过期驱动清理IntlProvider.dll国际化命令支持,调整语言等进行中MsiProvider.dllMsi/msp信息获取移植完成,但未应用SmiProvider.dllWindows离线服务支持NoneTransmogProvider.dll比如家庭版升级旗舰版等移植完成,但未应用UnattendProvider.dll无人应答支持NoneWimProvider.dll挂载wim文件等已完成,已应用于添加映像、挂载映像、ImagexNT6.2新增AppxProvider.dll添加删除Appx已完成,已应用于过期Appx清理AssocProvider.dll文件关联支持已完成,已应用于文件关联IBSProvider.dllWindows预部署已完成,已应用于预部署VhdProvider.dll用于挂载VHD/VHDXNoneNT10.0新增FfuProvider.dll用于释放FFU映像NoneOfflineSetupProvider.dll离线安装支持程序None2.快速入门程序的核心功能是清理更新,所以你可能需要在安装更新后才能感受到程序的价值。2.1.UI说明具体功能布局请参考下图。2.2.有备无患,将当前系统备份为WIM俗话说有“备”无患,现在Dism++能够直接将当前系统备份为WIM、ESD,无需进入PE。使用方法很简单,选中当前系统,点击恢复功能——系统备份即可。温馨提示:系统热备份需要系统的VSS服务支持,当你关闭了该服务或者安装了硬盘过滤驱动导致VSS服务使用时,此功能也将无法使用。这时建议你使用在RE中运行或者启动PE进行离线备份。最后点击浏览,设置保存路径即可。如果文件已经存在,那么自动增量到现有文件。名称功能解释卷影复制使用微软VSS服务进行复制,这个可以模式下可以复制被占用的文件。保存当前Host系统时无法进行更改。可启动即将WIM文件设置为可启动,以便于制作PE。如果你仅仅是为了备份系统,那么此选项对你无用,可以直接无视。温馨提示:保存为极限压缩ESDCPU的计算量非常巨大,会导致备份时间大大拉长。另外备份过程中推荐关闭杀毒软件。温馨提示:设置——详细设置——排除列表中还能设置WIM保存时排除名单,加快备份速度。具体请参阅配置豁免列表。2.3.系统还原当你遇到问题时,可以使用2.1创建的备份,还原到备份时的状态。此外Dism++还支持添加自身到BCD引导中(具体参考选项——详细设置——添加引导菜单功能),计算机无法启动时可以通过此功能启动Dism++。2.3.1.当系统还能启动时如果你的系统还能启动,那么可以使用Dism++的热还原功能,方法很简单,启动Dism++后点击恢复功能——系统还原即可。然后选择你当时备份的WIM/ESD/SWM/ISO文件。温馨提示:此功能需要RE环境完好。ISO还原需要Win8或者更高运行环境才能支持。当然热还原会产生Windows.old文件夹,如果你不喜欢这种方式,你可以点击恢复功能——在RE中运行。然后重启,你在RE中在点击恢复功能——系统还原即可。你还能根据你的情况,勾选格式化分区、以及添加引导。2.3.2.系统已经无法启动Dism++有个添加引导菜单功能(选项——详细设置中),如果你事先添加了引导菜单,那么系统彻底挂了也能通过Dism++引导菜单重新恢复系统。如果你什么也没做,那么你只能制作PE启动盘,然后在PE中启动Dism++,点击恢复功能——系统还原。2.4.使用空间回收垃圾清理建议你不要过于频繁的清理垃圾,尤其是SSD!一般建议一个月清理一次即可。程序启动后,点击空间回收,即可看到此界面。然后选中你需要清理的项目,在点击扫描(预计可以释放的空间)或者直接点击清理(不预估大小,立即删除)。温馨提示:风险项目使用橙色标识,另外某些项目存在某些副作用,选中后程序将弹出警告框,请务必仔细确认!3.Dism++隐藏设置此处将公开Dism++未在UI中呈现的设置,你可以修改Config\Config.ini,让这些设置生效。启用方式功能[Dism++]NotLoadWofadk=1添加后Dism++将不会在启动时加载Wof驱动,默认情况下Dism++会在Win8以上系统自动加载Wof驱动。如果你的环境比较特殊,可以开启此选项。开启后,WIMBoot以及Compact相关功能可能会受限。[Dism++]Mode=0添加后,Dism++将启用专家模式,此模式中可能存在某些风险功能,新手请勿轻易启用。注册表添加值HKEY_LOCAL_MACHINE\SOFTWARE\Dism++\Hide隐藏某些挂载映像,某些PE可能存在内置挂载点。启动Dism++时可能会让用户比较郁闷。你可以在