Проблема Uninstall при ошибке

Pipocooling

Участник
Возникла проблема.

Код:
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  ResultCode: Integer;
begin
  if CurUninstallStep = usDone then
   begin
    UninstallProgressTest();
   end;
end;
UninstallProgressTest это функция которая создает текстовый файл на рабочем столе. Так вот проблема в том что если возникает проблема при установке, автоматом запускается анинсталер и создается файл, а мне надо чтоб файл создавался только если установка была проведена успешни и анинсталер запущен вручную а не из-за ошибки установки.
 

Хамик

Старожил
может что-то типа такого
Код:
var
goodexit: boolean;

procedure InitializeWizard();
begin
  goodexit := false;
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  ResultCode: Integer;
begin
goodexit := true;
  if CurUninstallStep = usDone then
   begin
   if goodexit <> false then
    UninstallProgressTest();
   end;
end;
 
Последнее редактирование:

Pipocooling

Участник
Хамик, попробовал, с вашим кодом при ошибке установки не создается, но и при обычной анинстале в ручную тоже не создается, может еще какие-то варианты есть ?

п/с кстати и при отмене установки файл создается, и с моим кодом и с вашим.
 

Хамик

Старожил
Pipocooling, без скрипта будем долго гадать, я как бы идейку подкинул а там уже сами смотрите что куда.
Код:
var
goodexit: boolean;

procedure InitializeWizard();
begin
  goodexit := false;
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
  ResultCode: Integer;
begin
  if CurUninstallStep = usDone then
   begin
   if goodexit <> false then
    UninstallProgressTest();
   end;
end;
 
Последнее редактирование:

Pipocooling

Участник
может кто еще что-то посоветует, в скрипте ничего особенного, создается текстовый файл на рабочем столе при деинсталяции, проблема в том что при отмене или ошибке установщика файл создается а надо только чтоб при ручной деинсталяции создавался
 

Хамик

Старожил
в скрипте ничего особенного
Вот скрипт где ничего особенного
Код:
[setup]
appname=app
appvername=app
DefaultDirName={pf}\11

[Files]
Source: "{win}\Help\*"; DestDir: "{app}"; Flags: external createallsubdirs recursesubdirs

[Code]
procedure UninstallProgressTest();
begin
    SaveStringToFile(ExpandConstant('{userdesktop}\test.txt'), 'text', false);
end;

procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
  if CurUninstallStep = usDone then
   begin
    UninstallProgressTest();
   end;
end;
ошибку я конечно не организую, но при отмене установки файл не создается, а при деинсталляции создается на рабочем столе.
 
Сверху