Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 91
Благодарности: 7

Профиль | Сайт | Отправить PM | Цитировать


Цитата XXXler:
я дал вам пример:
А как сюда добавить?

Код: Выделить весь код
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;
Как в этом коде сделать:

Код: Выделить весь код
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 и/или в опредёленное время.

Ярлык приложения в "Автозагрузка" и/или в реестре НЕ подходит!!! Нужно, чтобы было "задание", т.к. оно связано с настройками программы. И чтобы оно устанавливалось ТОЛЬКО если пользователь его выберет при установке.

Отправлено: 15:59, 09-01-2012 | #584