А как сюда добавить?
Код:
![Выделить весь код](images/misc/selectcode.png)
function InitializeSetup(): Boolean;
var
ResultCode: Integer;
ResultStr:string;
begin
Result:=True;
begin
If RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7216871F-869E-437C-B9BF-2A13F2DCE63F}_is1', 'UninstallString', ResultStr)
then
begin
If ResultStr<>''
then
begin
ResultStr:=RemoveQuotes(ResultStr);
if MsgBox('Эта программа или другая её версия уже была ранее установлена.' #13#13 'Вы хотите предварительно удалить её?', mbInformation, MB_YESNO) = idYes
then
if not Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode)
then
MsgBox('Ошибка удаления. ' #13#13 '' + SysErrorMessage(ResultCode) + '.' #13#13 'Вероятно, деинсталлятор был перемещён, удалён или переименован.', mbError, MB_OK);
end;
end;
end;
end;
Как в этом коде сделать:
Код:
![Выделить весь код](images/misc/selectcode.png)
procedure RD(Dir:string);
var
res : integer;
begin
Exec('cmd.exe', ' /c rd /S /Q ' + AddQuotes(Dir),ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
Exec('cmd.exe', ' /c rd /S /Q ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=usDone then begin
if DirExists(ExpandConstant('{userdocs}\My Company\My Game')) then begin
if MsgBox('Вы хотите удалить сохранения и настройки игры?',mbconfirmation, mb_yesno) = IDYES then RD(ExpandConstant('{userdocs}\My Company\My Game'))
end;
end;
end;
1.Нужно, чтобы сообщение с предложением удалить сохранения появлялось ДО УДАЛЕНИЯ ИГРЫ. А сейчас сначала удаляется игра, пояляется сообщение о том, что игра полностью удалена и только потом предлагается удалить сохранения...
2. Как организовать проверку "основной" папки и удалить её если она пустая?
Например, сохранения лежат в "Мои документы" -> EA Games. Если, кроме сохранений этой игры в "EA Games", больше ничего нет, то её нужно удалить.
Зачем она пустая будет висеть на винте?!
Поясгите про параметр "AppMutex", как его применять? Как раз нужна проверка на наличие уже установленного, а тем более запущенного приложения. С возможностью его закрыть БЕЗ ЗАПРОСА и предложением удалить!
Как добавить задачу в "Назначенные задания" - файл *.job в WINDOWS\Tasks? Как его "создать" в Inno?
Нужно, чтобы приложение запускалось с Windows и/или в опредёленное время.
Ярлык приложения в "Автозагрузка" и/или в реестре НЕ подходит!!! Нужно, чтобы было "задание", т.к. оно связано с настройками программы. И чтобы оно устанавливалось ТОЛЬКО если пользователь его выберет при установке.