如题.
我想实现,判断某个条件不符合时,就退出安装过程并把已经安装的文件卸载.
在网上寻寻觅觅很久,找不到答案.
才来请高手话费心思为我解答.
先谢过.

解决方案 »

  1.   

    主要有两种情况需要停止安装.
    在InitializeSetup()中可以利用工具自身的功能来实现[code]
    var
    ErrorCode: Integer;
    IsRunning: Integer;
    // 安装时判断程序是否正在运行
    function InitializeSetup(): Boolean;
    begin
    Result :=true; //安装程序继续
    IsRunning:=FindWindowByWindowName('此处填程序名称');
    while IsRunning<>0 do
    begin
      if Msgbox('安装程序检测到"此处填程序名称"正在运行。' #13#13 '您必须先关闭它然后单击“是”继续安装,或按“否”退出!', mbConfirmation, MB_YESNO) = idNO then
      begin
        Result :=false; //安装程序退出
        IsRunning :=0;
      end else begin
        Result :=true; //安装程序继续
        IsRunning:=FindWindowByWindowName('此处填程序名称');
      end;
    end;
    if NOT RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\HOMCOM\TOBAGIS') then
    begin
    Msgbox('没有在系统中发现"此处填程序名称".' #13#13 '安装程序将终止.', mbInformation, MB_OK);
    Result :=false; //安装程序退出
    IsRunning :=0;
    end;
    end;