; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyAppName "汉王扫描仪软件" #define MyAppVersion "4.1032.2022.7281" #define MyAppSetupName "HanvonScan_App_Setup" #define MyAppDefSetupDir "HanvonScan" #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\hanvon OutputBaseFilename={#MyAppSetupName}_{#MyAppVersion} Compression=lzma AppPublisher={#MyAppPublisher} SolidCompression=yes UninstallIconFile=uninstall.ico SetupIconFile=HanvonScan_App.ico LicenseFile=HanvonScan_App_License.txt AlwaysShowComponentsList=true [Languages] Name: "zn"; MessagesFile: "compiler:Languages/Chinese.isl" [Components] Name: "Twain1000"; Description: "Hanvon HW-7000NS TAWIN" ; Types: Full Name: "Twain1002"; Description: "Hanvon HW-7000 TAWIN" ; Types: Full Name: "Twain7000"; Description: "Hanvon HW-7000NS TAWIN" ; Types: Full Name: "Twain7002"; Description: "Hanvon HW-8000 TAWIN" ; Types: Full Name: "Twain7039"; Description: "Hanvon HW-9000 TAWIN" ; Types: Full Name: "Twain8000"; Description: "Hanvon HW-1000NS TAWIN" ; Types: Full Name: "Twain9000"; Description: "Hanvon HW-1000 TAWIN" ; Types: Full [Files] ; app Source: ".\HanvonScan_App.ico"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\..\..\code_app\doc\scanner\HanvonScan_App_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion Source: "..\..\x86\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion Source: "..\..\x86\Qt\platforms\*"; DestDir: "{app}\platforms\"; Flags: ignoreversion Source: "..\..\x86\Qt\styles\*"; DestDir: "{app}\styles\"; Flags: ignoreversion Source: "..\..\x86\Qt\translations\*"; DestDir: "{app}\translations\"; Flags: ignoreversion Source: "..\..\x86\Qt\*.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\HanvonScan.exe"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\HWUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\cnocr.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\doc_seg.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\ExportFile.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\FormEx.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\GetPdf.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\GetRtf.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\GetXls.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hanwangOCRdetect.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hasp_windows_113819.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\HWBase.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\HWImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\HWImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\HWVersion.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\HwOcrSdk.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\libzip.org.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\mp30.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\ofd.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\msvcp140.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\vcruntime140.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\OEM\hanvon\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\OEM\hanvon\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\OEM\hanvon\hanvontwain1000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain1000; Source: "..\..\x86\OEM\hanvon\hanvontwain1002.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain1002; Source: "..\..\x86\OEM\hanvon\hanvontwain7000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain7000; Source: "..\..\x86\OEM\hanvon\hanvontwain7002.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain7002; Source: "..\..\x86\OEM\hanvon\hanvontwain7039.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain7039; Source: "..\..\x86\OEM\hanvon\hanvontwain8000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8000; Source: "..\..\x86\OEM\hanvon\hanvontwain9000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain9000; ;拷贝驱动 Source: "..\..\x86\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; Source: "..\..\x86\Release\scannerusb.cat"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; Source: "..\driver\x86\DPInst32.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64 Source: "..\driver\x64\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64 [INI] [Icons] Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\HanvonScan.exe" Name: "{group}\{#MyAppName}"; Filename: "{app}\HanvonScan.exe" Name: "{group}\汉王扫描仪软件帮助文档"; Filename: "{app}\HanvonScan_App_Help_manual.pdf" Name: "{group}\{cm:UninstallProgram, {#MyAppName}}"; Filename: "{uninstallexe}"; [Registry] Root: HKLM; Subkey: "Software\HanvonScan"; ValueType: string; ValueName: "AppDirectory"; ValueData: "{app}"; Flags: uninsdeletekey Root: HKLM; Subkey: "Software\HanvonScan"; ValueType: string; ValueName: "Application"; ValueData: "{app}\LanvonScan.exe"; Flags: uninsdeletekey Root: HKLM; Subkey: "Software\HanvonScan"; ValueType: string; ValueName: "AppVersion"; ValueData: "{#MyAppVersion}"; Flags: uninsdeletekey [Code] // 卸载前判断进程是否在运行 function RunTaskU(FileName: string; bFullpath: Boolean): Boolean; external 'RunTask@{app}/ISTask.dll stdcall delayload uninstallonly'; function KillTaskU(ExeFileName: string): Integer; external 'KillTask@{app}/ISTask.dll stdcall delayload uninstallonly'; function SetUninstallIcon(iconPath:string): Boolean; var InstalledVersion,SubKeyName: String; begin if (IsWin64()) then begin SubKeyName := 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1'; RegWriteStringValue(HKLM64,SubKeyName,'DisplayIcon',iconPath); end else begin SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1'; RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath); end; end; function InitializeUninstall(): Boolean; var ErrorCode: Integer; bRes: Boolean; begin if not ShellExec('', ExpandConstant('{app}\HWUpgradeApp.exe'), '-type=postuninstallinfo -appName=Scanner -desc=uninstall', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then begin end; Result := true; if RunTaskU('HanvonScan.exe', false) then begin KillTaskU('HanvonScan.exe'); Result:= true; end else Result:= true; UnloadDll(ExpandConstant('{app}/ISTask.dll')); end; procedure CurPageChanged(CurPageID: Integer); begin if CurPageID = wpFinished then begin SetUninstallIcon(ExpandConstant('{app}\HanvonScan_App.ico')); end; end; procedure CurUninstallStepChanged(CurUninstallStep:TUninstallStep); begin if CurUninstallStep = usDone then begin DelTree(ExpandConstant('{app}'), True, True, True); end; end; [Run] Filename: "{app}\DPInst32"; Parameters: "/path ""{app}\driver"" /sw /se /lm /f"; Check: not IsWin64 Filename: "{app}\DPInst64"; Parameters: "/path ""{app}\driver"" /sw /se /lm /f"; Check: IsWin64 Filename: "{app}\HWUpgradeApp.exe"; Parameters:"-type=postinstallinfo -appName=Scanner -desc=install/upgrade"; Filename: "{app}\HanvonScan.exe"; Description: "{cm:LaunchProgram, {#MyAppName}}"; Flags: postinstall nowait skipifsilent [UninstallRun] ; 卸载二代证驱动 Filename: "{app}\DPInst32"; Parameters: "/u ""{app}\driver\scannerusb.inf"" /q /d"; Check: not IsWin64 Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\scannerusb.inf"" /q /d"; Check: IsWin64