国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

【工具】清理Windows Installer冗余文件(支持64位NT6.x系統)

2019-11-17 02:22:07
字體:
來源:轉載
供稿:網友
【工具】清理Windows Installer冗余文件(支持64位NT6.x系統)

樣子:

支持系統:

WindowsNT 5.x/6.x32及64位所有系統。需.net framework 2.0運行環境

功能:

清理上述系統中冗余的Windows Installer補丁文件。有如下特點:

  • 高效掃描+清理,并有進度反饋
  • 可選擇清理指定文件
  • 可排序
  • 可選擇刪除到回收站,或直接刪除

說明:

類似工具有幾個,其中我熟知的是smallfrogs大牛的【Windows Installer 冗余文件清理工具】(下文稱WIC),事實上在這之前我一直就用他的工具進行相關任務(目前他的官網http://www.kztechs.com/不可訪問,可以通過第三方站點獲取該工具及其信息),之所以想到重新寫一個這樣的工具,原因有二:

  1. WIC不適用64位NT6.x操作系統。不是說不能運行,而是會得到錯誤的結果,就是會掃出并非冗余的msp文件,這個很要命,屬于關鍵性問題。我想是因為WIC編寫年代久遠,可能作者本就沒有考慮在新平臺使用。而造成這個問題的技術層面的原因我想是由于64位NT6系統對32位程序的注冊表訪問做了重定向的緣故,也就是32位程序訪問某些鍵的時候,實際上是訪問到別的鍵。例如此類工具需要訪問的【HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/Installer/UserData/S-1-5-18/Patches】,在64位系統上訪問到的其實是【HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Windows/CurrentVersion/Installer/UserData/S-1-5-18/Patches】,關于這個問題,不少文章有講解,在此不贅述。所以可能就因為這個原因,導致WIC在64位系統上訪問到錯誤的鍵,又因為錯誤鍵下并不記錄已安裝的msp文件信息,最終導致WIC將大量并不是冗余狀態的msp文件判定為冗余。
  2. WIC刪除體驗不好。這個誰用誰知道,就是刪除一個文件前后共有2次MessageBox彈窗:刪除前有1次詢問,刪除后有1次告知,而且是每一個文件都有兩次彈窗,所以如果要刪除10個文件,總共會遭遇10x2=20次彈窗,空格/回車倆表示壓力很大。斗膽臆斷,大牛在這個環節的處理有欠考慮啊。另外有用戶表示還存在不能【全選/不選】的體驗問題,這個倒其實好解決,得益于ListView控件(WIC應該不是.net程序,作者使用的編程框架下該控件可能不叫ListView,但我肯定它跟.net下的ListView都是調用同樣的原生win32控件,spy++下顯示為SysListView32)的能力,可以通過全選所有行+空格(或鼠標勾選)來達到全選/不選的目的,熟悉win系統的老鳥用戶大概都知道類似的一些操作技巧,所以說這點不是問題。

就是以上兩個原因讓我有重造輪子的想法,所以可以說我對我這新工具的定位就是WIC的替代品,自然不存在WIC的問題,當然不排除我這工具也有其它問題,有句話叫什么來著,沒有BUG的程序是什么也不做的程序。總之有賴用戶的反饋,在此先行謝過。

另外我必須要說,即便WIC作為一個實現有些問題,但它的工作原理是了不起的,事實上我的工具也是基于大牛的冗余判定原理實現的,可惜現在他的官網不能訪問,目前可以訪問這里獲知一些信息。再次鄭重感謝smallfrogs大牛的研究和分享。另外要感謝:

  • 來自codePRoject.com牛人的方案,它解決了ListView排序帶原生標記(三角標記)的問題。排序容易,弄個自定義標記也不難,難的是系統原生標記
  • 各圖標原作者。在此向猿友推薦一套高質量圖標,作者似乎是個JP,程序UI向的設計師,作品真的很優質

工具地址:

http://pan.baidu.com/s/1i39w8Qh

望得到用戶反饋,非常感謝!

-文畢-


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鱼台县| 虞城县| 诸暨市| 谢通门县| 佛冈县| 东兰县| 乌拉特中旗| 孝感市| 宁夏| 都江堰市| 兴义市| 黎川县| 亳州市| 崇义县| 慈溪市| 盱眙县| 元氏县| 石林| 江津市| 太和县| 河间市| 梁河县| 南雄市| 长丰县| 信阳市| 璧山县| 普兰县| 辽阳市| 仙居县| 曲阳县| 扎兰屯市| 白城市| 乐安县| 白沙| 壤塘县| 无为县| 蚌埠市| 克东县| 南丹县| 广饶县| 绩溪县|