Я пытаюсь unistall все плагины, установленные в моем приложении, перед тем, как его unistalling. Я использую код, приведенный ниже, но у меня нет результатов ...Exec unistaller второго приложения
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;
Есть ли что-нибудь не так?
EDITED
изменить код, чтобы найти правильное 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
заполняется с правильным значением.
Это потому, что вы пытаетесь выполнить ключ реестра. Вероятно, вы собираетесь запросить путь удаления из этого раздела реестра, не так ли? – TLama
Я нашел в учебнике, что я должен сделать на этом пути. Если это не так, как я могу продолжить удаление? – Victor
Итак, что возвращает вас, что 'UninstallString'? Есть ли путь к исполняемому файлу unistaller и параметрам? – TLama