我需要做一个批处理或一个VBScript,它卸载每个版本的Mozilla Firefox。 在registry中有一个关键:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox (Version).
Version
具有安装的Firefox版本的价值。 在这个键下有一个UninstallString
条目。 我需要阅读这个价值。 问题是,版本是一个variables。 因此,如果Mozilla Firefox 1.0.1被删除,那么关键将如下所示:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox (1.0.1).
如果安装了2.0.2,那么密钥将如下所示:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Mozilla Firefox (2.0.2).
但是我不知道安装了哪个版本。 那么我怎样才能读取这个键(和卸载值),而不知道哪个版本安装? 有人可以帮我吗?
谢谢。
怎么样:
const HKEY_LOCAL_MACHINE = &H80000002 const REG_PATH = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\" const FOX_MASK = "Mozilla Firefox*" dim re: set re = New RegExp re.IgnoreCase = True re.Global = True re.Pattern = FOX_MASK dim oReg: set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv") oReg.EnumKey HKEY_LOCAL_MACHINE, REG_PATH, arrSubKeys dim strValue for each subkey In arrSubKeys if re.test(subkey) then oReg.GetExpandedStringValue HKEY_LOCAL_MACHINE, REG_PATH & subkey, "UninstallString", strValue WScript.StdOut.WriteLine "Version: " & subkey WScript.StdOut.WriteLine "Uninstaller: " & strValue end if next
对我来说输出:
Version: Mozilla Firefox 7.0 (x86 en-GB)
卸载程序: C:\ Program Files \ Mozilla Firefox \ uninstall \ helper.exe
(注意这与你的模式不同)