2013-04-01 69 views
0

我一直在搜索和搜索,並沒有拿出一個很好的答案。我試圖在軟件的UninstallString的兩個位置查詢註冊表。對於未知卸載ID的REG QUERY

-HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall 
-HKLM\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall 

UninstallString需要被設置爲變量或直管道在運行msiexec.exe /x {GUID} /qn

我寧願這是在powershell或命令只是我的易用性。

回答

0
@ECHO OFF 
SETLOCAL 
set "uninstall1=" 
FOR /F "tokens=2*" %%A IN (
    'REG QUERY "HKLM\Software\Microsoft\Windows\CurrentVersion" /v Uninstall' 
) DO (set Uninstall1=%%B) 

set uninstall 

這應該檢索第一個字符串(如果存在)。

重複第二個字符串的公式。最後的SET uninstall僅僅是報告從UNINSTALL開始驗證的環境變量。

然後

if defined Uninstall1 msiexec ... "%Uninstall1%" 

應該執行MSIEXEC與您所需要的參數(其中...是你的選擇 -/X/QN等等)