Текущий архив: 2007.09.02;
Скачать: CL | DM;
Вниз
Как удалить запись в реестре при установке программы (InnoSetup)? Найти похожие ветки
← →
DrAndrew (2007-06-22 10:53) [0]Уважаемые Мастера! Пожалуйста подскажите, Как удалить запись в реестре при установке программы с использованием инсталлятора InnoSetup? Я прописываю в скрипте следующий код:
B>[Registry]
Root: HKCU; Subkey: "Software\My Program"; Flags: deletekey dontcreatekey
но этот код как и с другими флагами не работает. Мне необходимо удалить ключ именно при установке, до первого открытия программы. Как это сделать? Спасибо всем!
← →
tesseract © (2007-06-22 11:49) [1]в скрипте :
[code]
procedure InitializeWizard();
begin
RegDeleteKeyIncludingSubkeys(HKCU, "SoftWare\MyProgram");
end;
[/code]
должно помочь.
← →
DrAndrew (2007-06-22 11:53) [2]Спасибо за подсказку! А в каком месте ставить этот код? Это принципиально? И нужно ли тогда прописывать секцию [Registry]?
← →
DrAndrew (2007-06-22 11:55) [3]Еще вопрос - а как проверить есть ли такой ключ ("SoftWare\MyProgram") и только потом его удалить, то есть применить процедуру InitializeWizard()?
← →
DrAndrew (2007-06-22 12:17) [4]Мастера, почему так:
[code]
if RegValueExists(HKEY_CURRENT_USER, "Software\Teach Yourself Pro\LastDir", DirPath) then
begin
procedure InitializeWizard();
begin
RegDeleteValue(HKCU, "Software\Teach Yourself Pro\LastDir", DirPath);
end;
end;
выдает ошибку. Что изменить?
← →
ЮЮ © (2007-06-22 12:24) [5]then begin
procedure InitializeWizard();
какой скрипт такую чушь позволит выполнить?
← →
DrAndrew (2007-06-22 12:30) [6]Хорошо, прописал так:
[code]
function MyCheckedRegValue(): Boolean;
begin
if RegValueExists(HKEY_CURRENT_USER, "Software\My Program\LastDir", DirPath) then
begin
procedure InitializeWizard();
begin
RegDeleteValue(HKCU, "Software\My Program\LastDir", DirPath);
end;
end;
end;
ругаетсяю что нельзя вызывать InitializeWizard(). Что делать?
← →
ЮЮ © (2007-06-22 12:39) [7]> Хорошо, прописал так:
И что, что-то изменилось? как был маразм
then begin
procedure
так и остался
если [1] работает, почему туда проверку не добавить?
procedure InitializeWizard();
begin
if RegValueExists(HKEY_CURRENT_USER, "Software\My Program\LastDir", DirPath) then
RegDeleteValue(HKCU, "Software\My Program\LastDir", DirPath);
end;
← →
DrAndrew (2007-06-22 12:44) [8]Понял а есть принципиальная разница разместить секцию [code] после секции [run] или нет? Или необходимо обязательно секцию [code] прописывать до секции [run]? Всем большое спасибо за дискуссию!
← →
ЮЮ © (2007-06-22 12:48) [9]> Всем большое спасибо за дискуссию!
Дискуссии не наблюдаю :) Ни с InnoSetup-ом, ни с его скриптом не знаком. Просто бросились в глаза явные несуразности. Поэтому и влез, пока контингент для дискуссии подтяивается :)
← →
DrAndrew (2007-06-22 12:52) [10]И все таки, Мастера, есть принципиальная разница разместить секцию [code] после секции [run] или нет? Или необходимо обязательно секцию [code] прописывать до секции [run]? Спасибо!
Страницы: 1 вся ветка
Текущий архив: 2007.09.02;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.023 c