我正在尝试在卸载之前卸载我的应用程序上安装的所有插件。我正在使用下面的代码,但我没有结果......
for I := 0 to GetArrayLength(PluginsID)-1 do
begin
sUnInstallString := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\' + PluginsID[I];
Exec(sUnInstallString, '/NORESTART','', SW_SHOW, ewWaitUntilTerminated, uResultCode);
end;
有什么问题吗?
已编辑
我更改代码以找到正确的 unistall 字符串:
for I := 0 to GetArrayLength(Plugins)-1 do
begin
sUnInstPath := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\' + Plugins[I];
if RegQueryStringValue(HKLM, sUnInstPath, 'UninstallString', sUnInstallString) then
begin
Exec(sUnInstallString, '','', SW_HIDE, ewWaitUntilTerminated, uResultCode);
end;
end;
但它不再起作用....sUnInstallString
填充了正确的值。