增加64位打包脚本

This commit is contained in:
luoliangyi 2022-08-08 12:18:45 +08:00
parent 5f147c18b3
commit 6d56756ba6
62 changed files with 665 additions and 57 deletions

View File

@ -47,7 +47,7 @@ Source: ".\HanvonScan_App.ico"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\..\..\code_app\doc\scanner\HanvonScan_App_Help_manual.pdf"; 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: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion Source: "..\..\x86\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion
Source: "..\..\x86\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion Source: "..\..\x86\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion
@ -85,19 +85,19 @@ Source: "..\..\x86\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\OEM\hanvon\sane.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\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\OEM\hanvon\hanvontwain1000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain1000; Source: "..\..\x86\OEM\hanvon\hanvontwain1000.ds"; DestDir: "{win}\twain_32\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain1000;
Source: "..\..\x86\OEM\hanvon\hanvontwain1002.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain1002; Source: "..\..\x86\OEM\hanvon\hanvontwain1002.ds"; DestDir: "{win}\twain_32\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain1002;
Source: "..\..\x86\OEM\hanvon\hanvontwain7000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain7000; Source: "..\..\x86\OEM\hanvon\hanvontwain7000.ds"; DestDir: "{win}\twain_32\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain7000;
Source: "..\..\x86\OEM\hanvon\hanvontwain7002.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain7002; Source: "..\..\x86\OEM\hanvon\hanvontwain7002.ds"; DestDir: "{win}\twain_32\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain7002;
Source: "..\..\x86\OEM\hanvon\hanvontwain7039.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain7039; Source: "..\..\x86\OEM\hanvon\hanvontwain7039.ds"; DestDir: "{win}\twain_32\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain7039;
Source: "..\..\x86\OEM\hanvon\hanvontwain8000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8000; Source: "..\..\x86\OEM\hanvon\hanvontwain8000.ds"; DestDir: "{win}\twain_32\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain8000;
Source: "..\..\x86\OEM\hanvon\hanvontwain9000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain9000; Source: "..\..\x86\OEM\hanvon\hanvontwain9000.ds"; DestDir: "{win}\twain_32\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain9000;
;¿½±´Çý¶¯ ;¿½±´Çý¶¯
Source: "..\..\x86\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; Source: "..\..\x86\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x86\Release\scannerusb.cat"; 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: "..\..\x86\Release\DPInst32.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64
Source: "..\driver\x64\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64 Source: "..\..\x64\Release\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64
; ÁÙʱʹÓà ; ÁÙʱʹÓÃ
Source: "..\..\x86\Release\HWRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion Source: "..\..\x86\Release\HWRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion
@ -159,13 +159,8 @@ function SetUninstallIcon(iconPath:string): Boolean;
var var
InstalledVersion,SubKeyName: String; InstalledVersion,SubKeyName: String;
begin begin
if (IsWin64()) then begin SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{4486975C-CBCF-430B-BED1-427866D1738E}_is1';
SubKeyName := 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{4486975C-CBCF-430B-BED1-427866D1738E}_is1'; RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
RegWriteStringValue(HKLM64,SubKeyName,'DisplayIcon',iconPath);
end else begin
SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{4486975C-CBCF-430B-BED1-427866D1738E}_is1';
RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
end;
end; end;
function InitializeUninstall(): Boolean; function InitializeUninstall(): Boolean;

View File

@ -0,0 +1,206 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "汉王扫描仪软件64位"
#define MyAppVersion "4.15.10000.22217"
#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={{91B3FC8D-CA10-4754-9339-6794D4D922F6}
AppName={#MyAppName}
AppVerName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppDefSetupDir}
DefaultGroupName={#MyAppName}
VersionInfoVersion={#MyAppVersion}
OutputDir=..\..\package\hanvon
OutputBaseFilename={#MyAppSetupName}_{#MyAppVersion}_x64
Compression=lzma
AppPublisher={#MyAppPublisher}
SolidCompression=yes
UninstallIconFile=uninstall.ico
SetupIconFile=HanvonScan_App.ico
LicenseFile=HanvonScan_App_License.txt
AlwaysShowComponentsList=true
ArchitecturesInstallIn64BitMode=x64
[Languages]
Name: "zn"; MessagesFile: "compiler:Languages/Chinese.isl"
[Components]
Name: "Upgrade"; Description: "在线升级功能" ; Types: Full
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: "..\..\x64\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion
Source: "..\..\x64\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion
Source: "..\..\x64\Qt\platforms\*"; DestDir: "{app}\platforms\"; Flags: ignoreversion
Source: "..\..\x64\Qt\styles\*"; DestDir: "{app}\styles\"; Flags: ignoreversion
Source: "..\..\x64\Qt\translations\*"; DestDir: "{app}\translations\"; Flags: ignoreversion
Source: "..\..\x64\Qt\*.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HanvonScan.exe"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HWUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade;
Source: "..\..\x64\Release\cnocr.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\doc_seg.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\ExportFile.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\FormEx.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\GetPdf.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\GetRtf.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\GetXls.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\hanwangOCRdetect.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\hasp_windows_x64_113819.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HWBase.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HWImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HWImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HWVersion.dll"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade;
Source: "..\..\x64\Release\HwOcrSdk.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\libzip.org.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\mp30.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\ofd.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\msvcp140.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\vcruntime140.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\OEM\hanvon\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\OEM\hanvon\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\OEM\hanvon\hanvontwain1000.ds"; DestDir: "{win}\twain_32\HanvonTwain\x64\"; Flags: ignoreversion; Components: Twain1000;
Source: "..\..\x64\OEM\hanvon\hanvontwain1002.ds"; DestDir: "{win}\twain_32\HanvonTwain\x64\"; Flags: ignoreversion; Components: Twain1002;
Source: "..\..\x64\OEM\hanvon\hanvontwain7000.ds"; DestDir: "{win}\twain_32\HanvonTwain\x64\"; Flags: ignoreversion; Components: Twain7000;
Source: "..\..\x64\OEM\hanvon\hanvontwain7002.ds"; DestDir: "{win}\twain_32\HanvonTwain\x64\"; Flags: ignoreversion; Components: Twain7002;
Source: "..\..\x64\OEM\hanvon\hanvontwain7039.ds"; DestDir: "{win}\twain_32\HanvonTwain\x64\"; Flags: ignoreversion; Components: Twain7039;
Source: "..\..\x64\OEM\hanvon\hanvontwain8000.ds"; DestDir: "{win}\twain_32\HanvonTwain\x64\"; Flags: ignoreversion; Components: Twain8000;
Source: "..\..\x64\OEM\hanvon\hanvontwain9000.ds"; DestDir: "{win}\twain_32\HanvonTwain\x64\"; Flags: ignoreversion; Components: Twain9000;
;拷贝驱动
Source: "..\..\x64\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x64\Release\scannerusb.cat"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x64\Release\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs;
; 临时使用
Source: "..\..\x64\Release\HWRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion
[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 RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';
// 卸载前判断进程是否在运行
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 InitializeSetup(): boolean;
var
ErrorCode: Integer;
begin
Result := false;
ExtractTemporaryFile('ISTask.dll');
if RunTask('HanvonScan.exe', false) then
begin
MsgBox('请关闭扫描软件再安装!', mbInformation, MB_OK);
end
else
begin
ExtractTemporaryFile('HWRemoveOldApp.exe');
if Exec(ExpandConstant('{tmp}\HWRemoveOldApp.exe'), '', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then
begin
if 0 = ErrorCode then
begin
Result := true;
end
else
begin
MsgBox('卸载旧版扫描软件失败,停止安装!', mbInformation, MB_OK);
end
end
end
end;
function SetUninstallIcon(iconPath:string): Boolean;
var
InstalledVersion,SubKeyName: String;
begin
SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{91B3FC8D-CA10-4754-9339-6794D4D922F6}_is1';
RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
end;
function InitializeUninstall(): Boolean;
var
ErrorCode: Integer;
begin
Result := false;
if RunTaskU('HanvonScan.exe', false) then
begin
MsgBox('请关闭扫描软件再卸载!', mbInformation, MB_OK);
end
else
begin
ShellExec('', ExpandConstant('{app}\HWUpgradeApp.exe'), '-type=postuninstallinfo -appName=Scanner -desc=uninstall', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
Result:= true;
end
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}\DPInst64"; Parameters: "/path ""{app}\driver"" /sw /sa /se /lm /f";
Filename: "{app}\HWUpgradeApp.exe"; Parameters:"-type=postinstallinfo -appName=Scanner -desc=install/upgrade"; Components: Upgrade;
Filename: "{app}\HanvonScan.exe"; Description: "{cm:LaunchProgram, {#MyAppName}}"; Flags: postinstall nowait skipifsilent
[UninstallRun]
; 卸载驱动
;Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\scannerusb.inf"" /q /d";

View File

@ -48,7 +48,7 @@ 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_App_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion Source: "..\..\x86\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion
Source: "..\..\x86\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion Source: "..\..\x86\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion
@ -86,20 +86,20 @@ Source: "..\..\x86\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\OEM\huagao\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\OEM\huagao\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\OEM\huagao\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\OEM\huagao\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\OEM\huagao\huagaotwain100.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG100; Source: "..\..\x86\OEM\huagao\huagaotwain100.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG100;
Source: "..\..\x86\OEM\huagao\huagaotwain139.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG139; Source: "..\..\x86\OEM\huagao\huagaotwain139.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG139;
Source: "..\..\x86\OEM\huagao\huagaotwain200.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG200; Source: "..\..\x86\OEM\huagao\huagaotwain200.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG200;
Source: "..\..\x86\OEM\huagao\huagaotwain239.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG239; Source: "..\..\x86\OEM\huagao\huagaotwain239.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG239;
Source: "..\..\x86\OEM\huagao\huagaotwain300.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG300; Source: "..\..\x86\OEM\huagao\huagaotwain300.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG300;
Source: "..\..\x86\OEM\huagao\huagaotwain400.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG400; Source: "..\..\x86\OEM\huagao\huagaotwain400.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG400;
Source: "..\..\x86\OEM\huagao\huagaotwain402.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG402; Source: "..\..\x86\OEM\huagao\huagaotwain402.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG402;
Source: "..\..\x86\OEM\huagao\huagaotwain439.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG439; Source: "..\..\x86\OEM\huagao\huagaotwain439.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG439;
;¿½±´Çý¶¯ ;¿½±´Çý¶¯
Source: "..\..\x86\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; Source: "..\..\x86\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x86\Release\scannerusb.cat"; 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: "..\..\x86\Release\DPInst32.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64
Source: "..\driver\x64\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: 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\HGRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion
@ -161,13 +161,8 @@ function SetUninstallIcon(iconPath:string): Boolean;
var var
InstalledVersion,SubKeyName: String; InstalledVersion,SubKeyName: String;
begin begin
if (IsWin64()) then begin SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1';
SubKeyName := 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1'; RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
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; end;
function InitializeUninstall(): Boolean; function InitializeUninstall(): Boolean;

View File

@ -0,0 +1,208 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "华高扫描仪软件64位"
#define MyAppVersion "4.15.10000.22217"
#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={{F50A4E10-3E42-446C-A63A-DF7848C61B31}
AppName={#MyAppName}
AppVerName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppDefSetupDir}
DefaultGroupName={#MyAppName}
VersionInfoVersion={#MyAppVersion}
OutputDir=..\..\package\huagao
OutputBaseFilename={#MyAppSetupName}_{#MyAppVersion}_x64
Compression=lzma
AppPublisher={#MyAppPublisher}
SolidCompression=yes
UninstallIconFile=uninstall.ico
SetupIconFile=HuaGoScan_App.ico
LicenseFile=HuaGoScan_App_License.txt
AlwaysShowComponentsList=true
ArchitecturesInstallIn64BitMode=x64
[Languages]
Name: "zn"; MessagesFile: "compiler:Languages/Chinese.isl"
[Components]
Name: "Upgrade"; Description: "在线升级功能" ; Types: Full
Name: "TwainG100"; Description: "HUAGOSCAN G100 TWAIN" ; Types: Full
Name: "TwainG139"; Description: "HUAGOSCAN G139 TWAIN" ; Types: Full
Name: "TwainG200"; Description: "HUAGOSCAN G200 TWAIN" ; Types: Full
Name: "TwainG239"; Description: "HUAGOSCAN G239 TWAIN" ; Types: Full
Name: "TwainG300"; Description: "HUAGOSCAN G300 TWAIN" ; Types: Full
Name: "TwainG400"; Description: "HUAGOSCAN G400 TWAIN" ; Types: Full
Name: "TwainG402"; Description: "HUAGOSCAN G402 TWAIN" ; Types: Full
Name: "TwainG439"; Description: "HUAGOSCAN G439 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: "..\..\x64\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion
Source: "..\..\x64\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion
Source: "..\..\x64\Qt\platforms\*"; DestDir: "{app}\platforms\"; Flags: ignoreversion
Source: "..\..\x64\Qt\styles\*"; DestDir: "{app}\styles\"; Flags: ignoreversion
Source: "..\..\x64\Qt\translations\*"; DestDir: "{app}\translations\"; Flags: ignoreversion
Source: "..\..\x64\Qt\*.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HuaGoScan.exe"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HGUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade;
Source: "..\..\x64\Release\cnocr.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\doc_seg.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\ExportFile.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\FormEx.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\GetPdf.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\GetRtf.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\GetXls.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\hanwangOCRdetect.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\hasp_windows_x64_113819.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HGBase.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HGImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HGImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\HGVersion.dll"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade;
Source: "..\..\x64\Release\HwOcrSdk.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\libzip.org.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\mp30.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\ofd.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\msvcp140.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\vcruntime140.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\OEM\huagao\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\OEM\huagao\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\OEM\huagao\huagaotwain100.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x64\"; Flags: ignoreversion; Components: TwainG100;
Source: "..\..\x64\OEM\huagao\huagaotwain139.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x64\"; Flags: ignoreversion; Components: TwainG139;
Source: "..\..\x64\OEM\huagao\huagaotwain200.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x64\"; Flags: ignoreversion; Components: TwainG200;
Source: "..\..\x64\OEM\huagao\huagaotwain239.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x64\"; Flags: ignoreversion; Components: TwainG239;
Source: "..\..\x64\OEM\huagao\huagaotwain300.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x64\"; Flags: ignoreversion; Components: TwainG300;
Source: "..\..\x64\OEM\huagao\huagaotwain400.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x64\"; Flags: ignoreversion; Components: TwainG400;
Source: "..\..\x64\OEM\huagao\huagaotwain402.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x64\"; Flags: ignoreversion; Components: TwainG402;
Source: "..\..\x64\OEM\huagao\huagaotwain439.ds"; DestDir: "{win}\twain_32\HuaGoTwain\x64\"; Flags: ignoreversion; Components: TwainG439;
;拷贝驱动
Source: "..\..\x64\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x64\Release\scannerusb.cat"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x64\Release\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs;
; 临时使用
Source: "..\..\x64\Release\HGRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion
[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}\{cm:UninstallProgram, {#MyAppName}}"; 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
[Code]
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';
// 卸载前判断进程是否在运行
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 InitializeSetup(): boolean;
var
ErrorCode: Integer;
begin
Result := false;
ExtractTemporaryFile('ISTask.dll');
if RunTask('HuaGoScan.exe', false) then
begin
MsgBox('请关闭扫描软件再安装!', mbInformation, MB_OK);
end
else
begin
ExtractTemporaryFile('HGRemoveOldApp.exe');
if Exec(ExpandConstant('{tmp}\HGRemoveOldApp.exe'), '', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then
begin
if 0 = ErrorCode then
begin
Result := true;
end
else
begin
MsgBox('卸载旧版扫描软件失败,停止安装!', mbInformation, MB_OK);
end
end
end
end;
function SetUninstallIcon(iconPath:string): Boolean;
var
InstalledVersion,SubKeyName: String;
begin
SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{F50A4E10-3E42-446C-A63A-DF7848C61B31}_is1';
RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
end;
function InitializeUninstall(): Boolean;
var
ErrorCode: Integer;
begin
Result := false;
if RunTaskU('HuaGoScan.exe', false) then
begin
MsgBox('请关闭扫描软件再卸载!', mbInformation, MB_OK);
end
else
begin
ShellExec('', ExpandConstant('{app}\HGUpgradeApp.exe'), '-type=postuninstallinfo -appName=Scanner -desc=uninstall', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
Result:= true;
end
UnloadDll(ExpandConstant('{app}/ISTask.dll'));
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpFinished then
begin
SetUninstallIcon(ExpandConstant('{app}\HuaGoScan_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}\DPInst64"; Parameters: "/path ""{app}\driver"" /sw /sa /se /lm /f";
Filename: "{app}\HGUpgradeApp.exe"; Parameters:"-type=postinstallinfo -appName=Scanner -desc=install/upgrade"; Components: Upgrade;
Filename: "{app}\HuaGoScan.exe"; Description: "{cm:LaunchProgram, {#MyAppName}}"; Flags: postinstall nowait skipifsilent
[UninstallRun]
; 卸载驱动
;Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\scannerusb.inf"" /q /d";

View File

@ -49,7 +49,7 @@ Source: ".\LanxumScan_App.ico"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\..\..\code_app\doc\scanner\LanxumScan_App_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\..\..\code_app\doc\scanner\LanxumScan_App_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion Source: "..\..\x86\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion
Source: "..\..\x86\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion Source: "..\..\x86\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion
@ -87,21 +87,21 @@ Source: "..\..\x86\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\OEM\lanxum\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\OEM\lanxum\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\OEM\lanxum\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\OEM\lanxum\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\OEM\lanxum\lanxumtwain8200.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8200; Source: "..\..\x86\OEM\lanxum\lanxumtwain8200.ds"; DestDir: "{win}\twain_32\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8200;
Source: "..\..\x86\OEM\lanxum\lanxumtwain8420.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8420; Source: "..\..\x86\OEM\lanxum\lanxumtwain8420.ds"; DestDir: "{win}\twain_32\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8420;
Source: "..\..\x86\OEM\lanxum\lanxumtwain8429.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8429; Source: "..\..\x86\OEM\lanxum\lanxumtwain8429.ds"; DestDir: "{win}\twain_32\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8429;
Source: "..\..\x86\OEM\lanxum\lanxumtwain8520.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8520; Source: "..\..\x86\OEM\lanxum\lanxumtwain8520.ds"; DestDir: "{win}\twain_32\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8520;
Source: "..\..\x86\OEM\lanxum\lanxumtwain8529.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8529; Source: "..\..\x86\OEM\lanxum\lanxumtwain8529.ds"; DestDir: "{win}\twain_32\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8529;
Source: "..\..\x86\OEM\lanxum\lanxumtwain8620.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8620; Source: "..\..\x86\OEM\lanxum\lanxumtwain8620.ds"; DestDir: "{win}\twain_32\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8620;
Source: "..\..\x86\OEM\lanxum\lanxumtwain8629.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8629; Source: "..\..\x86\OEM\lanxum\lanxumtwain8629.ds"; DestDir: "{win}\twain_32\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8629;
Source: "..\..\x86\OEM\lanxum\lanxumtwain8730.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8730; Source: "..\..\x86\OEM\lanxum\lanxumtwain8730.ds"; DestDir: "{win}\twain_32\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8730;
Source: "..\..\x86\OEM\lanxum\lanxumtwain8739.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8739; Source: "..\..\x86\OEM\lanxum\lanxumtwain8739.ds"; DestDir: "{win}\twain_32\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8739;
;¿½±´Çý¶¯ ;¿½±´Çý¶¯
Source: "..\..\x86\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; Source: "..\..\x86\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x86\Release\scannerusb.cat"; 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: "..\..\x86\Release\DPInst32.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64
Source: "..\driver\x64\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64 Source: "..\..\x64\Release\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64
; ÁÙʱʹÓà ; ÁÙʱʹÓÃ
Source: "..\..\x86\Release\LSCRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion Source: "..\..\x86\Release\LSCRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion
@ -162,13 +162,8 @@ function SetUninstallIcon(iconPath:string): Boolean;
var var
InstalledVersion,SubKeyName: String; InstalledVersion,SubKeyName: String;
begin begin
if (IsWin64()) then begin SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{F2890F43-A51C-4379-BB79-992616B1D6BD}_is1';
SubKeyName := 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{F2890F43-A51C-4379-BB79-992616B1D6BD}_is1'; RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
RegWriteStringValue(HKLM64,SubKeyName,'DisplayIcon',iconPath);
end else begin
SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{F2890F43-A51C-4379-BB79-992616B1D6BD}_is1';
RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
end;
end; end;
function InitializeUninstall(): Boolean; function InitializeUninstall(): Boolean;

View File

@ -0,0 +1,209 @@
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "立思辰扫描仪软件64位"
#define MyAppVersion "4.15.10000.22217"
#define MyAppSetupName "LanxumScan_App_Setup"
#define MyAppDefSetupDir "LanxumScan"
#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={{05FD7C3E-C683-4FB4-9DD4-E4DE94985BEF}
AppName={#MyAppName}
AppVerName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppDefSetupDir}
DefaultGroupName={#MyAppName}
VersionInfoVersion={#MyAppVersion}
OutputDir=..\..\package\lanxum
OutputBaseFilename={#MyAppSetupName}_{#MyAppVersion}_x64
Compression=lzma
AppPublisher={#MyAppPublisher}
SolidCompression=yes
UninstallIconFile=uninstall.ico
SetupIconFile=LanxumScan_App.ico
LicenseFile=LanxumScan_App_License.txt
AlwaysShowComponentsList=true
ArchitecturesInstallIn64BitMode=x64
[Languages]
Name: "zn"; MessagesFile: "compiler:Languages/Chinese.isl"
[Components]
Name: "Upgrade"; Description: "在线升级功能" ; Types: Full
Name: "Twain8200"; Description: "LANXUMSCAN G42S TWAIN" ; Types: Full
Name: "Twain8420"; Description: "LANXUMSCAN G42S TWAIN" ; Types: Full
Name: "Twain8429"; Description: "LANXUMSCAN G52S TWAIN" ; Types: Full
Name: "Twain8520"; Description: "LANXUMSCAN G62S TWAIN" ; Types: Full
Name: "Twain8529"; Description: "LANXUMSCAN G73S TWAIN" ; Types: Full
Name: "Twain8620"; Description: "LANXUMSCAN G42S TWAIN" ; Types: Full
Name: "Twain8629"; Description: "LANXUMSCAN G52S TWAIN" ; Types: Full
Name: "Twain8730"; Description: "LANXUMSCAN G62S TWAIN" ; Types: Full
Name: "Twain8739"; Description: "LANXUMSCAN G73S TWAIN" ; Types: Full
[Files]
; app
Source: ".\LanxumScan_App.ico"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\..\..\code_app\doc\scanner\LanxumScan_App_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion
Source: "..\..\x64\Qt\imageformats\*"; DestDir: "{app}\imageformats\"; Flags: ignoreversion
Source: "..\..\x64\Qt\platforms\*"; DestDir: "{app}\platforms\"; Flags: ignoreversion
Source: "..\..\x64\Qt\styles\*"; DestDir: "{app}\styles\"; Flags: ignoreversion
Source: "..\..\x64\Qt\translations\*"; DestDir: "{app}\translations\"; Flags: ignoreversion
Source: "..\..\x64\Qt\*.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\LanxumScan.exe"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\LSCUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade;
Source: "..\..\x64\Release\cnocr.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\doc_seg.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\ExportFile.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\FormEx.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\GetPdf.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\GetRtf.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\GetXls.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\hanwangOCRdetect.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\hasp_windows_x64_113819.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\LSCBase.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\LSCImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\LSCImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\LSCVersion.dll"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade;
Source: "..\..\x64\Release\HwOcrSdk.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\libzip.org.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\mp30.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\ofd.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\msvcp140.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\vcruntime140.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\OEM\lanxum\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\OEM\lanxum\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x64\OEM\lanxum\lanxumtwain8200.ds"; DestDir: "{win}\twain_32\LanxumTwain\x64\"; Flags: ignoreversion; Components: Twain8200;
Source: "..\..\x64\OEM\lanxum\lanxumtwain8420.ds"; DestDir: "{win}\twain_32\LanxumTwain\x64\"; Flags: ignoreversion; Components: Twain8420;
Source: "..\..\x64\OEM\lanxum\lanxumtwain8429.ds"; DestDir: "{win}\twain_32\LanxumTwain\x64\"; Flags: ignoreversion; Components: Twain8429;
Source: "..\..\x64\OEM\lanxum\lanxumtwain8520.ds"; DestDir: "{win}\twain_32\LanxumTwain\x64\"; Flags: ignoreversion; Components: Twain8520;
Source: "..\..\x64\OEM\lanxum\lanxumtwain8529.ds"; DestDir: "{win}\twain_32\LanxumTwain\x64\"; Flags: ignoreversion; Components: Twain8529;
Source: "..\..\x64\OEM\lanxum\lanxumtwain8620.ds"; DestDir: "{win}\twain_32\LanxumTwain\x64\"; Flags: ignoreversion; Components: Twain8620;
Source: "..\..\x64\OEM\lanxum\lanxumtwain8629.ds"; DestDir: "{win}\twain_32\LanxumTwain\x64\"; Flags: ignoreversion; Components: Twain8629;
Source: "..\..\x64\OEM\lanxum\lanxumtwain8730.ds"; DestDir: "{win}\twain_32\LanxumTwain\x64\"; Flags: ignoreversion; Components: Twain8730;
Source: "..\..\x64\OEM\lanxum\lanxumtwain8739.ds"; DestDir: "{win}\twain_32\LanxumTwain\x64\"; Flags: ignoreversion; Components: Twain8739;
;拷贝驱动
Source: "..\..\x64\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x64\Release\scannerusb.cat"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs;
Source: "..\..\x64\Release\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs;
; 临时使用
Source: "..\..\x64\Release\LSCRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion
[INI]
[Icons]
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\LanxumScan.exe"
Name: "{group}\{#MyAppName}"; Filename: "{app}\LanxumScan.exe"
Name: "{group}\立思辰扫描仪软件帮助文档"; Filename: "{app}\LanxumScan_App_Help_manual.pdf"
Name: "{group}\{cm:UninstallProgram, {#MyAppName}}"; Filename: "{uninstallexe}";
[Registry]
Root: HKLM; Subkey: "Software\LanxumScan"; ValueType: string; ValueName: "AppDirectory"; ValueData: "{app}"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\LanxumScan"; ValueType: string; ValueName: "Application"; ValueData: "{app}\LanxumScan.exe"; Flags: uninsdeletekey
Root: HKLM; Subkey: "Software\LanxumScan"; ValueType: string; ValueName: "AppVersion"; ValueData: "{#MyAppVersion}"; Flags: uninsdeletekey
[Code]
function RunTask(FileName: string; bFullpath: Boolean): Boolean;
external 'RunTask@files:ISTask.dll stdcall delayload';
function KillTask(ExeFileName: string): Integer;
external 'KillTask@files:ISTask.dll stdcall delayload';
// 卸载前判断进程是否在运行
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 InitializeSetup(): boolean;
var
ErrorCode: Integer;
begin
Result := false;
ExtractTemporaryFile('ISTask.dll');
if RunTask('LanxumScan.exe', false) then
begin
MsgBox('请关闭扫描软件再安装!', mbInformation, MB_OK);
end
else
begin
ExtractTemporaryFile('LSCRemoveOldApp.exe');
if Exec(ExpandConstant('{tmp}\LSCRemoveOldApp.exe'), '', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then
begin
if 0 = ErrorCode then
begin
Result := true;
end
else
begin
MsgBox('卸载旧版扫描软件失败,停止安装!', mbInformation, MB_OK);
end
end
end
end;
function SetUninstallIcon(iconPath:string): Boolean;
var
InstalledVersion,SubKeyName: String;
begin
SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{05FD7C3E-C683-4FB4-9DD4-E4DE94985BEF}_is1';
RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
end;
function InitializeUninstall(): Boolean;
var
ErrorCode: Integer;
begin
Result := false;
if RunTaskU('LanxumScan.exe', false) then
begin
MsgBox('请关闭扫描软件再卸载!', mbInformation, MB_OK);
end
else
begin
ShellExec('', ExpandConstant('{app}\LSCUpgradeApp.exe'), '-type=postuninstallinfo -appName=Scanner -desc=uninstall', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
Result:= true;
end
UnloadDll(ExpandConstant('{app}/ISTask.dll'));
end;
procedure CurPageChanged(CurPageID: Integer);
begin
if CurPageID = wpFinished then
begin
SetUninstallIcon(ExpandConstant('{app}\LanxumScan_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}\DPInst64"; Parameters: "/path ""{app}\driver"" /sw /sa /se /lm /f";
Filename: "{app}\LSCUpgradeApp.exe"; Parameters:"-type=postinstallinfo -appName=Scanner -desc=install/upgrade"; Components: Upgrade;
Filename: "{app}\LanxumScan.exe"; Description: "{cm:LaunchProgram, {#MyAppName}}"; Flags: postinstall nowait skipifsilent
[UninstallRun]
; 卸载驱动
;Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\scannerusb.inf"" /q /d";

View File

@ -36,7 +36,7 @@ Source: ".\HanvonWebSdk.ico"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\宋体.ttf"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\宋体.ttf"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\HWWebService.exe"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\HWWebService.exe"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\..\..\code_app\doc\webservice\新版websdk接口说明.doc"; DestDir: "{app}\doc\"; Flags: ignoreversion Source: "..\..\..\..\code_app\doc\webservice\新版websdk接口说明.doc"; DestDir: "{app}\doc\"; Flags: ignoreversion

View File

@ -36,7 +36,7 @@ Source: ".\HuaGoWebSdk.ico"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\宋体.ttf"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\宋体.ttf"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\HGWebService.exe"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\HGWebService.exe"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\..\..\code_app\doc\webservice\新版websdk接口说明.doc"; DestDir: "{app}\doc\"; Flags: ignoreversion Source: "..\..\..\..\code_app\doc\webservice\新版websdk接口说明.doc"; DestDir: "{app}\doc\"; Flags: ignoreversion

View File

@ -36,7 +36,7 @@ Source: ".\LanxumWebSdk.ico"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\宋体.ttf"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\宋体.ttf"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\IsTask.dll"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\x86\Release\LSCWebService.exe"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\LSCWebService.exe"; DestDir: "{app}\"; Flags: ignoreversion
Source: "..\..\..\..\code_app\doc\webservice\新版websdk接口说明.doc"; DestDir: "{app}\doc\"; Flags: ignoreversion Source: "..\..\..\..\code_app\doc\webservice\新版websdk接口说明.doc"; DestDir: "{app}\doc\"; Flags: ignoreversion

BIN
win/x64/Qt/Qt5Core.dll Normal file

Binary file not shown.

BIN
win/x64/Qt/Qt5Gui.dll Normal file

Binary file not shown.

BIN
win/x64/Qt/Qt5Svg.dll Normal file

Binary file not shown.

BIN
win/x64/Qt/Qt5Widgets.dll Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
win/x86/Release/IsTask.dll Normal file

Binary file not shown.