release/win/setup/scanner/HuaGoScan_App_Setup.iss

338 lines
23 KiB
Plaintext

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "华高扫描软件"
#define MyAppVersion "4.37.10100.22340"
#define MyAppSetupName "HuaGoScan_App_Setup"
#define MyAppDefSetupDir "HuaGoScan"
#define MyAppPublisher "宁波华高信息科技有限公司"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{7076DC53-5C2F-4216-9783-2A6F954FEB3E}
AppName={#MyAppName}
AppVerName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppDefSetupDir}
DefaultGroupName={#MyAppName}
VersionInfoVersion={#MyAppVersion}
OutputDir=..\..\package
OutputBaseFilename={#MyAppSetupName}_{#MyAppVersion}
Compression=lzma
AppPublisher={#MyAppPublisher}
SolidCompression=no
UninstallIconFile=uninstall.ico
SetupIconFile=HuaGoScan_App.ico
LicenseFile=HuaGoScan_App_License.txt
AlwaysShowComponentsList=true
ArchitecturesInstallIn64BitMode=x64
PrivilegesRequired=admin
DisableWelcomePage=no
[Languages]
Name: "zn"; MessagesFile: "compiler:Languages/ChineseSimp.isl"
[Components]
Name: "Upgrade"; Description: "在线升级功能" ; Types: Full
Name: "TwainG100"; Description: "HUAGOSCAN G100 TWAIN" ; Types: Full
Name: "TwainG200"; Description: "HUAGOSCAN G200 TWAIN" ; Types: Full
Name: "TwainG300"; Description: "HUAGOSCAN G300 TWAIN" ; Types: Full
Name: "TwainG400"; Description: "HUAGOSCAN G400 TWAIN" ; Types: Full
[Files]
; app
Source: ".\HuaGoScan_App.ico"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\..\..\code_app\doc\scanner\HuaGoScan_App_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\..\..\code_app\doc\scanner\HuaGoScan_scanSettings_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion
; app32
Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\tessdata\*"; DestDir: "{app}\tessdata\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Qt\platforms\*"; DestDir: "{app}\platforms\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Qt\styles\*"; DestDir: "{app}\styles\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Qt\translations\*"; DestDir: "{app}\translations\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Qt\*.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\HuaGoScan.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\HGUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\cnocr.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\doc_seg.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\ExportFile.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\FormEx.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\GetPdf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\GetRtf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\GetXls.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\hanwangOCRdetect.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\hasp_windows_113819.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\HGBase.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\HGImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\HGImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\HGVersion.dll"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\HwOcrSdk.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\libzip.org.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\mp30.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\ofd.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\msvcp140.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\vcruntime140.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\concrt140.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\OEM\huagao\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x86\OEM\huagao\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
; app64
Source: "..\..\x64\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\tessdata\*"; DestDir: "{app}\tessdata\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Qt\platforms\*"; DestDir: "{app}\platforms\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Qt\styles\*"; DestDir: "{app}\styles\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Qt\translations\*"; DestDir: "{app}\translations\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Qt\*.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\HuaGoScan.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\HGUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: Is64BitInstallMode
Source: "..\..\x64\Release\cnocr.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\doc_seg.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\ExportFile.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\FormEx.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\GetPdf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\GetRtf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\GetXls.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\hanwangOCRdetect.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\hasp_windows_x64_113819.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\HGBase.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\HGImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\HGImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\HGVersion.dll"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: Is64BitInstallMode
Source: "..\..\x64\Release\HwOcrSdk.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\libzip.org.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\mp30.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\ofd.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\msvcp140.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\vcruntime140.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\vcruntime140_1.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\concrt140.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\OEM\huagao\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\OEM\huagao\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
; twain32
Source: "..\..\..\..\code_app\doc\scanner\HuaGoScan_scanSettings_Help_manual.pdf"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\cnocr.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\doc_seg.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\ExportFile.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\FormEx.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\GetPdf.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\GetRtf.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\GetXls.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\hanwangOCRdetect.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\hasp_windows_113819.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\HwOcrSdk.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\libzip.org.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\mp30.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\ofd.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\PDFParse.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\tinyxml2.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\msvcp140.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\vcruntime140.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\concrt140.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\zlib.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\OEM\huagao\sane.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\OEM\huagao\scanner.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\HGBase.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\HGImgFmt.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\HGImgProc.dll"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\Release\tessdata\*"; DestDir: "{win}\twain_32\HuaGoTwain\tessdata\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x86\OEM\huagao\huagaotwain100.ds"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Components: TwainG100;
Source: "..\..\x86\OEM\huagao\huagaotwain200.ds"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Components: TwainG200;
Source: "..\..\x86\OEM\huagao\huagaotwain300.ds"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Components: TwainG300;
Source: "..\..\x86\OEM\huagao\huagaotwain400.ds"; DestDir: "{win}\twain_32\HuaGoTwain\"; Flags: ignoreversion; Components: TwainG400;
; twain64
Source: "..\..\x64\OEM\huagao\huagaotwain100.ds"; DestDir: "{win}\twain_64\HuaGoTwain\"; Flags: ignoreversion; Components: TwainG100; Check: Is64BitInstallMode
Source: "..\..\x64\OEM\huagao\huagaotwain200.ds"; DestDir: "{win}\twain_64\HuaGoTwain\"; Flags: ignoreversion; Components: TwainG200; Check: Is64BitInstallMode
Source: "..\..\x64\OEM\huagao\huagaotwain300.ds"; DestDir: "{win}\twain_64\HuaGoTwain\"; Flags: ignoreversion; Components: TwainG300; Check: Is64BitInstallMode
Source: "..\..\x64\OEM\huagao\huagaotwain400.ds"; DestDir: "{win}\twain_64\HuaGoTwain\"; Flags: ignoreversion; Components: TwainG400; Check: Is64BitInstallMode
;拷贝驱动
Source: "..\..\usb\huagao\huagaousb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\usb\huagao\huagaousb.cat"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x86\Release\DPInst32.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64
Source: "..\..\x64\Release\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64
; 临时使用
Source: "..\..\x86\Release\HGRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion
Source: "..\..\x86\Release\HGCheckNewApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
Source: "..\..\x64\Release\HGCheckNewApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
[INI]
[Icons]
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\HuaGoScan.exe"
Name: "{group}\{#MyAppName}"; Filename: "{app}\HuaGoScan.exe"
Name: "{group}\华高扫描软件帮助文档"; Filename: "{app}\HuaGoScan_App_Help_manual.pdf"
Name: "{group}\卸载"; Filename: "{uninstallexe}";
[Registry]
Root: HKLM; Subkey: "Software\HuaGoScan"; ValueType: string; ValueName: "AppDirectory"; ValueData: "{app}"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\HuaGoScan"; ValueType: string; ValueName: "Application"; ValueData: "{app}\HuaGoScan.exe"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\HuaGoScan"; ValueType: string; ValueName: "AppVersion"; ValueData: "{#MyAppVersion}"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\HuaGoScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{app}"; Flags: uninsdeletekey; Check: not Is64BitInstallMode
Root: HKLM; Subkey: "Software\HuaGoScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{win}\twain_32\HuaGoTwain"; Flags: uninsdeletekey; Check: Is64BitInstallMode
Root: HKLM; Subkey: "Software\HuaGoScan"; ValueType: string; ValueName: "DriverPath64"; ValueData: "{app}"; Flags: uninsdeletekey; Check: Is64BitInstallMode
Root: HKLM; Subkey: "Software\WOW6432Node\HuaGoScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{win}\twain_32\HuaGoTwain"; Flags: uninsdeletekey; Check: Is64BitInstallMode
Root: HKLM; Subkey: "Software\WOW6432Node\HuaGoScan"; ValueType: string; ValueName: "DriverPath64"; ValueData: "{app}"; Flags: uninsdeletekey; Check: Is64BitInstallMode
[Code]
var
globalInstallPath: String;
//初始化时把路径设置到编辑框
procedure InitializeWizard;
begin
WizardForm.DirEdit.Text := globalInstallPath;
end;
function GetInstallString(): String;
var
InstallPath: String;
begin
InstallPath := ExpandConstant('{pf}\{#MyAppDefSetupDir}');
if RegValueExists(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1', 'Inno Setup: App Path') then
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1', 'Inno Setup: App Path', InstallPath)
end
result := InstallPath;
end;
function InitializeSetup(): boolean;
var
ErrorCode: Integer;
ResultCode: Integer;
ResultStr: String;
UninstallContinue: Boolean;
CmdStr: String;
begin
Result := false;
globalInstallPath := GetInstallString();
CmdStr := GetCmdTail();
ExtractTemporaryFile('HGRemoveOldApp.exe');
if Exec(ExpandConstant('{tmp}\HGRemoveOldApp.exe'), '', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then
begin
if 0 = ErrorCode then
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1', 'UninstallString', ResultStr) then
begin
UninstallContinue := true;
if Pos('/verysilent', CmdStr) = 0 then
begin
if MsgBox('扫描软件已安装,是否卸载原版本?', mbConfirmation, MB_YESNO) <> IDYES then
begin
UninstallContinue := false;
end
end
if UninstallContinue then
begin
ResultStr := RemoveQuotes(ResultStr);
if Exec(ResultStr, '/verysilent', '', SW_HIDE, ewWaitUntilTerminated, ResultCode) then
begin
if 0 = ResultCode then
begin
Sleep(1000)
Result := true;
end
end
end
end
else
begin
Result := true;
end
end
else if 2 = ErrorCode then
begin
MsgBox('请先关闭旧版扫描软件!', mbInformation, MB_OK);
end
else
begin
MsgBox('卸载旧版扫描软件失败,停止安装!', mbInformation, MB_OK);
end
end
end;
function SetUninstallIcon(iconPath:string): Boolean;
var
InstalledVersion,SubKeyName: String;
begin
SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1';
RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
end;
function InitializeUninstall(): Boolean;
var
ErrorCode: Integer;
begin
Result := false;
if Exec(ExpandConstant('{app}\HGCheckNewApp.exe'), '', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then
begin
if 0 = ErrorCode then
begin
ShellExec('', ExpandConstant('{app}\HGUpgradeApp.exe'), '-type=postuninstallinfo -appName=Scanner -desc=uninstall', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
Result := true;
end
else
begin
MsgBox('请先关闭扫描软件!', mbInformation, MB_OK);
end
end
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpFinished then
begin
SetUninstallIcon(ExpandConstant('{app}\HuaGoScan_App.ico'));
DeleteFile(ExpandConstant('{win}\twain_32\HuaGoTwain\huagaotwain139.ds'));
DeleteFile(ExpandConstant('{win}\twain_32\HuaGoTwain\huagaotwain239.ds'));
DeleteFile(ExpandConstant('{win}\twain_32\HuaGoTwain\huagaotwain302.ds'));
DeleteFile(ExpandConstant('{win}\twain_32\HuaGoTwain\huagaotwain402.ds'));
DeleteFile(ExpandConstant('{win}\twain_32\HuaGoTwain\huagaotwain439.ds'));
DeleteFile(ExpandConstant('{win}\twain_64\HuaGoTwain\huagaotwain139.ds'));
DeleteFile(ExpandConstant('{win}\twain_64\HuaGoTwain\huagaotwain239.ds'));
DeleteFile(ExpandConstant('{win}\twain_64\HuaGoTwain\huagaotwain302.ds'));
DeleteFile(ExpandConstant('{win}\twain_64\HuaGoTwain\huagaotwain402.ds'));
DeleteFile(ExpandConstant('{win}\twain_64\HuaGoTwain\huagaotwain439.ds'));
DelTree(ExpandConstant('{win}\twain_32\HuaGoTwain\x86'), True, True, True);
DelTree(ExpandConstant('{win}\twain_32\HuaGoTwain\x64'), True, True, True);
end;
end;
procedure CurUninstallStepChanged(CurUninstallStep:TUninstallStep);
begin
if CurUninstallStep = usDone then
begin
DelTree(ExpandConstant('{app}'), True, True, True);
DelTree(ExpandConstant('{win}\twain_32\HuaGoTwain'), True, True, True);
DelTree(ExpandConstant('{win}\twain_64\HuaGoTwain'), True, True, True);
end;
end;
[Run]
Filename: "{app}\DPInst32"; Parameters: "/path ""{app}\driver"" /sw /se /lm /f"; Check: not IsWin64; Flags: runascurrentuser
Filename: "{app}\DPInst64"; Parameters: "/path ""{app}\driver"" /sw /se /lm /f"; Check: IsWin64; Flags: runascurrentuser
Filename: "{app}\HGUpgradeApp.exe"; Parameters:"-type=postinstallinfo -appName=Scanner -desc=install/upgrade"; Components: Upgrade; Flags: runascurrentuser
Filename: "{app}\HuaGoScan.exe"; Description: "{cm:LaunchProgram, {#MyAppName}}"; Flags: postinstall nowait skipifsilent runascurrentuser
[UninstallRun]
; 卸载驱动
;Filename: "{app}\DPInst32"; Parameters: "/u ""{app}\driver\huagaousb.inf"" /q /d"; Check: not IsWin64; Flags: runascurrentuser
;Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\huagaousb.inf"" /q /d"; Check: IsWin64; Flags: runascurrentuser