
我發現許多元件(EXE/DLL、.NET 組件和登錄項目)在舊版 VS2012 安裝和卸載過程中遺留在我的 PC 上。我想使用它們的 MSI 檔案徹底刪除它們,這些檔案仍在我的套件快取中,但msiexec /x product.msi
只是給了我This action is only valid for products that are installed
,大概是因為主VS2012 安裝程式從安裝程式資料中刪除了它的產品代碼,並且MSI 認為該產品尚未安裝。
是否可以使用msiexec
命令列開關繞過此驗證檢查?或者有沒有一個工具可以掃描 MSI 並刪除它安裝的所有內容?我查看了,msizap
但它只刪除了產品的安裝程式數據,而不是它安裝的所有垃圾。
TL;DR:是否有工具可以:
for item in product.msi do delete $item
答案1
由於您使用卸載程式卸載了該產品一次,因此第二次卸載可能效果不會更好。此外,大部分殘留物可能是在安裝後使用該產品時產生的。
最好重新安裝該產品,然後使用卸載程序,例如 Revo 卸載程式免費軟體 之後卸載並清理。不幸的是,安裝和卸載VS並不是一個快速的操作。
根據我的經驗,如果您安裝了多個 Visual Studio 版本,使用 Revo 可能會清除太多內容,因為某些元件可能是多個版本所共有的。
在有多個 VS 版本的情況下,我的建議是接受一些剩餘版本的存在,並僅使用官方卸載程式。您可以安全地驗證VS2012的安裝資料夾已清除,但請勿保留其他元件。