From 34ab8bf427454ac42a19da5f014a41ee1808df03 Mon Sep 17 00:00:00 2001 From: luoliangyi <87842688@qq.com> Date: Mon, 3 Jul 2023 15:35:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E7=AB=8B=E6=80=9D=E8=BE=B0?= =?UTF-8?q?=E5=92=8C=E4=B8=AD=E6=99=B6=E6=96=B0=E7=9A=84=E6=89=93=E5=8C=85?= =?UTF-8?q?=E8=84=9A=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- win/setup/scanner/HuaGoScan2_App_Setup.iss | 4 +- win/setup/scanner/LanxumScan2_App_Setup.iss | 329 ++++++++++++++++++ win/setup/scanner/MicrotekScan2_App_Setup.iss | 305 ++++++++++++++++ .../scanner/MicrotekScan2_Twain_Setup.iss | 136 ++++++++ 4 files changed, 772 insertions(+), 2 deletions(-) create mode 100644 win/setup/scanner/LanxumScan2_App_Setup.iss create mode 100644 win/setup/scanner/MicrotekScan2_App_Setup.iss create mode 100644 win/setup/scanner/MicrotekScan2_Twain_Setup.iss diff --git a/win/setup/scanner/HuaGoScan2_App_Setup.iss b/win/setup/scanner/HuaGoScan2_App_Setup.iss index bcca4e2..f4291be 100644 --- a/win/setup/scanner/HuaGoScan2_App_Setup.iss +++ b/win/setup/scanner/HuaGoScan2_App_Setup.iss @@ -85,7 +85,7 @@ Source: "..\..\x86\Qt\styles\*"; DestDir: "{app}\styles\"; Flags: ignoreversion; 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\HuaGoScan2.exe"; DestDir: "{app}\"; DestName: "HuaGoScan.exe"; Flags: ignoreversion; Check: not Is64BitInstallMode -Source: "..\..\x86\Release\HGOCR.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\HGOCR.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\HGFWUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; 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 @@ -128,7 +128,7 @@ Source: "..\..\x64\Qt\styles\*"; DestDir: "{app}\styles\"; Flags: ignoreversion; Source: "..\..\x64\Qt\translations\*"; DestDir: "{app}\translations\"; Flags: ignoreversion; Check: Is64BitInstallMode Source: "..\..\x64\Qt\*.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode Source: "..\..\x64\Release\HuaGoScan2.exe"; DestDir: "{app}\"; DestName: "HuaGoScan.exe"; Flags: ignoreversion; Check: Is64BitInstallMode -Source: "..\..\x64\Release\HGOCR.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: Is64BitInstallMode +Source: "..\..\x64\Release\HGOCR.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode Source: "..\..\x64\Release\HGUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: Is64BitInstallMode Source: "..\..\x64\Release\HGFWUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode Source: "..\..\x64\Release\cnocr.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode diff --git a/win/setup/scanner/LanxumScan2_App_Setup.iss b/win/setup/scanner/LanxumScan2_App_Setup.iss new file mode 100644 index 0000000..fd2b487 --- /dev/null +++ b/win/setup/scanner/LanxumScan2_App_Setup.iss @@ -0,0 +1,329 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! +#define MyAppName "立思辰扫描软件" +#define MyAppVersion GetFileVersion('..\..\x64\OEM\lanxum\sane.dll') +#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={{F2890F43-A51C-4379-BB79-992616B1D6BD} +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=LanxumScan_App.ico +LicenseFile=LanxumScan_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: "TwainG42S"; Description: "LANXUMSCAN G42S TWAIN" ; Types: Full +Name: "TwainG52S"; Description: "LANXUMSCAN G52S TWAIN" ; Types: Full +Name: "TwainG62S"; Description: "LANXUMSCAN G62S TWAIN" ; Types: Full +Name: "TwainG73S"; 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: "..\..\..\..\code_app\doc\scanner\LanxumScan_scanSettings_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion + +; app32 +Source: "..\..\x86\Release\update.zip"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\LSCTwainUI.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\LSCTwainUser.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\LSCOCR.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion; 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\HwOcrSdk.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\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\tessdata\*"; DestDir: "{app}\tessdata\"; 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\LanxumScan2.exe"; DestDir: "{app}\"; DestName: "LanxumScan.exe"; Flags: ignoreversion; Check: not Is64BitInstallMode +;Source: "..\..\x86\Release\LSCUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\LSCBase.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\LSCImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\LSCImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +;Source: "..\..\x86\Release\LSCVersion.dll"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\VC++\*"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\OEM\lanxum\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\OEM\lanxum\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\OEM\lanxum\lang.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\..\lang\*"; DestDir: "{app}\lang\"; Flags: ignoreversion; Check: not Is64BitInstallMode + ; app64 +Source: "..\..\x64\Release\update.zip"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\LSCTwainUI.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\LSCTwainUser.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\TWAINDSM.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\HGOCR.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion; 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\HwOcrSdk.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\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Qt\iconengines\*"; DestDir: "{app}\iconengines\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\tessdata\*"; DestDir: "{app}\tessdata\"; 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\LanxumScan2.exe"; DestDir: "{app}\"; DestName: "LanxumScan.exe"; Flags: ignoreversion; Check: Is64BitInstallMode +;Source: "..\..\x64\Release\LSCUpgradeApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: Is64BitInstallMode +Source: "..\..\x64\Release\LSCBase.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\LSCImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\LSCImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +;Source: "..\..\x64\Release\LSCVersion.dll"; DestDir: "{app}\"; Flags: ignoreversion; Components: Upgrade; Check: Is64BitInstallMode +Source: "..\..\x64\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\VC++\*"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\lanxum\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\lanxum\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\lanxum\lang.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\..\lang\*"; DestDir: "{app}\lang\"; Flags: ignoreversion; Check: Is64BitInstallMode + +; twain32 +Source: "..\..\x86\Release\LSCTwainUI.dll"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\..\..\code_app\doc\scanner\LanxumScan_scanSettings_Help_manual.pdf"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\VC++\*"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\OEM\lanxum\sane.dll"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\OEM\lanxum\scanner.dll"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\OEM\lanxum\lang.dll"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\..\lang\*"; DestDir: "{win}\twain_32\LanxumTwain\lang\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\Release\LSCBase.dll"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\Release\LSCImgFmt.dll"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\Release\LSCImgProc.dll"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\Release\LSCVersion.dll"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\Release\tessdata\*"; DestDir: "{win}\twain_32\LanxumTwain\tessdata\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\OEM\lanxum\lanxumtwain8420.ds"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Components: TwainG42S; +Source: "..\..\x86\OEM\lanxum\lanxumtwain8520.ds"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Components: TwainG52S; +Source: "..\..\x86\OEM\lanxum\lanxumtwain8620.ds"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Components: TwainG62S; +Source: "..\..\x86\OEM\lanxum\lanxumtwain8730.ds"; DestDir: "{win}\twain_32\LanxumTwain\"; Flags: ignoreversion; Components: TwainG73S; + +; twain64 +Source: "..\..\x64\OEM\lanxum\lanxumtwain8420.ds"; DestDir: "{win}\twain_64\LanxumTwain\"; Flags: ignoreversion; Components: TwainG42S; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\lanxum\lanxumtwain8520.ds"; DestDir: "{win}\twain_64\LanxumTwain\"; Flags: ignoreversion; Components: TwainG52S; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\lanxum\lanxumtwain8620.ds"; DestDir: "{win}\twain_64\LanxumTwain\"; Flags: ignoreversion; Components: TwainG62S; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\lanxum\lanxumtwain8730.ds"; DestDir: "{win}\twain_64\LanxumTwain\"; Flags: ignoreversion; Components: TwainG73S; Check: Is64BitInstallMode + +;拷贝驱动 +Source: "..\..\usb\lanxum\lanxumusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; +Source: "..\..\usb\lanxum\lanxumusb.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\RemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion +Source: "..\..\x86\Release\CheckNewApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x64\Release\CheckNewApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode + +[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}\卸载"; 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 +Root: HKLM; Subkey: "Software\LanxumScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{app}"; Flags: uninsdeletekey; Check: not Is64BitInstallMode +Root: HKLM; Subkey: "Software\LanxumScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{win}\twain_32\LanxumTwain"; Flags: uninsdeletekey; Check: Is64BitInstallMode +Root: HKLM; Subkey: "Software\LanxumScan"; ValueType: string; ValueName: "DriverPath64"; ValueData: "{app}"; Flags: uninsdeletekey; Check: Is64BitInstallMode +Root: HKLM; Subkey: "Software\WOW6432Node\LanxumScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{win}\twain_32\LanxumTwain"; Flags: uninsdeletekey; Check: Is64BitInstallMode +Root: HKLM; Subkey: "Software\WOW6432Node\LanxumScan"; 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\{F2890F43-A51C-4379-BB79-992616B1D6BD}_is1', 'Inno Setup: App Path') then + begin + RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F2890F43-A51C-4379-BB79-992616B1D6BD}_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('RemoveOldApp.exe'); + if Exec(ExpandConstant('{tmp}\RemoveOldApp.exe'), 'OEM_LISICHENG', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then + begin + if 0 = ErrorCode then + begin + if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{F2890F43-A51C-4379-BB79-992616B1D6BD}_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\{F2890F43-A51C-4379-BB79-992616B1D6BD}_is1'; + RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath); +end; + +function InitializeUninstall(): Boolean; +var + ErrorCode: Integer; +begin + Result := false; + if Exec(ExpandConstant('{app}\CheckNewApp.exe'), 'OEM_LISICHENG', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then + begin + if 0 = ErrorCode then + begin + 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}\LanxumScan_App.ico')); + DeleteFile(ExpandConstant('{win}\twain_32\LanxumTwain\lanxumtwain8200.ds')); + DeleteFile(ExpandConstant('{win}\twain_32\LanxumTwain\lanxumtwain8429.ds')); + DeleteFile(ExpandConstant('{win}\twain_32\LanxumTwain\lanxumtwain8529.ds')); + DeleteFile(ExpandConstant('{win}\twain_32\LanxumTwain\lanxumtwain8629.ds')); + DeleteFile(ExpandConstant('{win}\twain_32\LanxumTwain\lanxumtwain8739.ds')); + DeleteFile(ExpandConstant('{win}\twain_64\LanxumTwain\lanxumtwain8200.ds')); + DeleteFile(ExpandConstant('{win}\twain_64\LanxumTwain\lanxumtwain8429.ds')); + DeleteFile(ExpandConstant('{win}\twain_64\LanxumTwain\lanxumtwain8529.ds')); + DeleteFile(ExpandConstant('{win}\twain_64\LanxumTwain\lanxumtwain8629.ds')); + DeleteFile(ExpandConstant('{win}\twain_64\LanxumTwain\lanxumtwain8739.ds')); + DelTree(ExpandConstant('{win}\twain_32\LanxumTwain\x86'), True, True, True); + DelTree(ExpandConstant('{win}\twain_32\LanxumTwain\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\LanxumTwain'), True, True, True); + DelTree(ExpandConstant('{win}\twain_64\LanxumTwain'), 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}\LSCUpgradeApp.exe"; Parameters:"-type=postinstallinfo -appName=Scanner -oemName=Lanxum -desc=install/upgrade"; Components: Upgrade +Filename: "{app}\LanxumScan.exe"; Description: "{cm:LaunchProgram, {#MyAppName}}"; Flags: postinstall nowait skipifsilent + +[UninstallRun] +; 卸载驱动 ;Filename: "{app}\DPInst32"; Parameters: "/u ""{app}\driver\lanxumusb.inf"" /q /d"; Check: not IsWin64 ;Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\lanxumusb.inf"" /q /d"; Check: IsWin64 \ No newline at end of file diff --git a/win/setup/scanner/MicrotekScan2_App_Setup.iss b/win/setup/scanner/MicrotekScan2_App_Setup.iss new file mode 100644 index 0000000..71f1bee --- /dev/null +++ b/win/setup/scanner/MicrotekScan2_App_Setup.iss @@ -0,0 +1,305 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppVersion GetFileVersion('..\..\x64\OEM\microtek\sane.dll') +#define MyAppSetupName "Microtek DocWizard EX_App" +#define MyAppDefSetupDir "Microtek DocWizard EX" + +[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={{36868C39-B195-498B-BFAE-36125D55305E} +AppName={cm:MyAppName} +AppVerName={cm:MyAppName} +AppVersion={#MyAppVersion} +DefaultDirName={pf}\{#MyAppDefSetupDir} +DefaultGroupName={cm:MyAppName} +VersionInfoVersion={#MyAppVersion} +OutputDir=..\..\package +OutputBaseFilename={#MyAppSetupName}_{#MyAppVersion} +Compression=lzma +AppPublisher={cm:MyAppPublisher} +SolidCompression=no +UninstallIconFile=uninstall.ico +SetupIconFile=MicrotekScan_App.ico +LicenseFile=MicrotekScan_App_License.txt +AlwaysShowComponentsList=true +ArchitecturesInstallIn64BitMode=x64 +;PrivilegesRequired=admin +DisableWelcomePage=no +ShowLanguageDialog=yes +ShowUndisplayableLanguages=yes + +[Languages] Name: "english"; MessagesFile: "compiler:Languages/English.isl"; LicenseFile:MicrotekScan_App_License_En.txt +Name: "chinese_simp"; MessagesFile: "compiler:Languages/ChineseSimp.isl"; LicenseFile:MicrotekScan_App_License.txt ;Name: "chinese_trad"; MessagesFile: "compiler:Languages/ChineseTrad.isl"; LicenseFile:MicrotekScan_App_License_Cn_Tr.txt + +[CustomMessages] +; english +english.MyAppName=Microtek DocWizard EX Scanner +english.MyAppPublisher=Shanghai Microtek Technology Co., Ltd +english.MyStr1=The scanning software has been installed. Do you want to uninstall the original version? +english.MyStr2=Please close the old scanning software first! +english.MyStr3=Failed to uninstall the old scanning software, stop installing! +english.MyStr4=Please close the scanning software first! +; chinese_simp +chinese_simp.MyAppName=Microtek DocWizard EX 扫描软件 +chinese_simp.MyAppPublisher=上海中晶科技有限公司 +chinese_simp.MyStr1=扫描软件已安装,是否卸载原版本? +chinese_simp.MyStr2=请先关闭旧版扫描软件! +chinese_simp.MyStr3=卸载旧版扫描软件失败,停止安装! +chinese_simp.MyStr4=请先关闭扫描软件! +; chinese_trad +;chinese_trad.MyAppName=Microtek DocWizard EX 掃描軟件 +;chinese_trad.MyAppPublisher=上海中晶科技有限公司 +;chinese_trad.MyStr1=掃描軟件已安裝,是否卸載原版本? +;chinese_trad.MyStr2=請先關閉舊版掃描軟件! +;chinese_trad.MyStr3=卸載舊版掃描軟件失敗,停止安裝! +;chinese_trad.MyStr4=請先關閉掃描軟件! + +[Files] + +; app +Source: ".\MicrotekScan_App.ico"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_App_Help_manual_EN.pdf"; DestDir: "{app}\"; Flags: ignoreversion; Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_scanSettings_Help_manual_EN.pdf"; DestDir: "{app}\"; Flags: ignoreversion; +Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_App_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion; +Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_scanSettings_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion; +Source: "..\..\x86\Release\microtek-settings\*"; DestDir: "{app}\settings\"; Flags: ignoreversion recursesubdirs + +; app32 +Source: "..\..\x86\Release\ZJTwainUI.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\ZJTwainUser.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\ZJOCR.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion; 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\HwOcrSdk.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\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\zlib.dll"; 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\MicrotekScan2.exe"; DestDir: "{app}\"; DestName: "MicrotekScan.exe"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\ZJBase.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\ZJImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\ZJImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\VC++\*"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\OEM\microtek\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\OEM\microtek\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x86\OEM\microtek\lang.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\..\lang\*"; DestDir: "{app}\lang\"; Flags: ignoreversion; Check: not Is64BitInstallMode + +; app64 +Source: "..\..\x64\Release\ZJTwainUI.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJTwainUser.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\TWAINDSM.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJOCR.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\hwusbdev.key"; DestDir: "{app}\"; Flags: ignoreversion; 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\HwOcrSdk.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\PDFParse.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\zlib.dll"; 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\MicrotekScan2.exe"; DestDir: "{app}\"; DestName: "MicrotekScan.exe"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJBase.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\libmupdf.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\pdflib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\VC++\*"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\microtek\sane.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\microtek\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\microtek\lang.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\..\lang\*"; DestDir: "{app}\lang\"; Flags: ignoreversion; Check: Is64BitInstallMode + +;拷贝驱动 +Source: "..\..\usb\microtek\Microtek_A3HG_scanner_usb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; +Source: "..\..\usb\microtek\Microtek_A3HG_scanner_usb.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\RemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion +Source: "..\..\x86\Release\CheckNewApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode +Source: "..\..\x64\Release\CheckNewApp.exe"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode + + +[INI] + +[Icons] +Name: "{commondesktop}\{cm:MyAppName}"; Filename: "{app}\MicrotekScan.exe" +Name: "{group}\{cm:MyAppName}"; Filename: "{app}\MicrotekScan.exe" +;Name: "{group}\Microtek after-sales tools"; Filename: "{app}\microtek-tool\After_sales_tool.exe"; Languages: english +;Name: "{group}\中晶售后工具"; Filename: "{app}\microtek-tool\After_sales_tool.exe"; Languages: chinese_simp +;Name: "{group}\中晶售後工具"; Filename: "{app}\microtek-tool\After_sales_tool.exe"; Languages: chinese_trad +Name: "{group}\Microtek DocWizard EX Scanner help document"; Filename: "{app}\MicrotekScan_App_Help_manual.pdf"; Languages: english +Name: "{group}\中晶扫描软件帮助文档"; Filename: "{app}\MicrotekScan_App_Help_manual.pdf"; Languages: chinese_simp +;Name: "{group}\中晶掃描軟件幫助文檔"; Filename: "{app}\MicrotekScan_App_Help_manual.pdf"; Languages: chinese_trad +Name: "{group}\Uninstall"; Filename: "{uninstallexe}"; Languages: english +Name: "{group}\卸载"; Filename: "{uninstallexe}"; Languages: chinese_simp +;Name: "{group}\卸載"; Filename: "{uninstallexe}"; Languages: chinese_trad + +[Registry] +Root: HKLM; Subkey: "Software\MicrotekScan"; ValueType: string; ValueName: "AppDirectory"; ValueData: "{app}"; Flags: uninsdeletekey +Root: HKLM; Subkey: "Software\MicrotekScan"; ValueType: string; ValueName: "Application"; ValueData: "{app}\MicrotekScan.exe"; Flags: uninsdeletekey +Root: HKLM; Subkey: "Software\MicrotekScan"; ValueType: string; ValueName: "AppVersion"; ValueData: "{#MyAppVersion}"; Flags: uninsdeletekey + +[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\{36868C39-B195-498B-BFAE-36125D55305E}_is1', 'Inno Setup: App Path') then + begin + RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{36868C39-B195-498B-BFAE-36125D55305E}_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('RemoveOldApp.exe'); + if Exec(ExpandConstant('{tmp}\RemoveOldApp.exe'), 'OEM_ZHONGJING', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then + begin + if 0 = ErrorCode then + begin + if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{36868C39-B195-498B-BFAE-36125D55305E}_is1', 'UninstallString', ResultStr) then + begin + UninstallContinue := true; + if Pos('/verysilent', CmdStr) = 0 then + begin + if MsgBox(ExpandConstant('{cm:MyStr1}'), 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(ExpandConstant('{cm:MyStr2}'), mbInformation, MB_OK); + end + else + begin + MsgBox(ExpandConstant('{cm:MyStr3}'), mbInformation, MB_OK); + end + end +end; + +function SetUninstallIcon(iconPath:string): Boolean; +var + InstalledVersion,SubKeyName: String; +begin + SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{36868C39-B195-498B-BFAE-36125D55305E}_is1'; + RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath); +end; + +function InitializeUninstall(): Boolean; +var + ErrorCode: Integer; +begin + Result := false; + if Exec(ExpandConstant('{app}\CheckNewApp.exe'), 'OEM_ZHONGJING', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then + begin + if 0 = ErrorCode then + begin + Result := true; + end + else + begin + MsgBox(ExpandConstant('{cm:MyStr4}'), mbInformation, MB_OK); + end + end +end; + +procedure CurPageChanged(CurPageID: Integer); +begin + if CurPageID = wpFinished then + begin + SetUninstallIcon(ExpandConstant('{app}\MicrotekScan_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}\MicrotekScan.exe"; Description: "{cm:LaunchProgram, {cm:MyAppName}}"; Parameters:"-language=english"; Flags: postinstall nowait skipifsilent; Languages: english +Filename: "{app}\MicrotekScan.exe"; Description: "{cm:LaunchProgram, {cm:MyAppName}}"; Parameters:"-language=chinese"; Flags: postinstall nowait skipifsilent; Languages: chinese_simp +;Filename: "{app}\MicrotekScan.exe"; Description: "{cm:LaunchProgram, {cm:MyAppName}}"; Parameters:"-language=chinese-trad"; Flags: postinstall nowait skipifsilent; Languages: chinese_trad + +[UninstallRun] ;Filename: "{app}\DPInst32"; Parameters: "/u ""{app}\driver\Microtek_A3HG_scanner_usb.inf"" /q /d"; Check: not IsWin64 ;Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\Microtek_A3HG_scanner_usb.inf"" /q /d"; Check: IsWin64 \ No newline at end of file diff --git a/win/setup/scanner/MicrotekScan2_Twain_Setup.iss b/win/setup/scanner/MicrotekScan2_Twain_Setup.iss new file mode 100644 index 0000000..cdd1d0f --- /dev/null +++ b/win/setup/scanner/MicrotekScan2_Twain_Setup.iss @@ -0,0 +1,136 @@ +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppVersion GetFileVersion('..\..\x64\OEM\microtek\sane.dll') +#define MyAppSetupName "Microtek DocWizard EX_TWAIN" +#define MyAppDefSetupDir "Microtek DocWizard EX" + +[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={{DDE9139A-3298-4CB8-BB31-755A1F158D93} +AppName={cm:MyAppName} +AppVerName={cm:MyAppName} +AppVersion={#MyAppVersion} +DefaultDirName={pf}\{#MyAppDefSetupDir} +DefaultGroupName={cm:MyAppName} +VersionInfoVersion={#MyAppVersion} +OutputDir=..\..\package +OutputBaseFilename={#MyAppSetupName}_{#MyAppVersion} +Compression=lzma +AppPublisher={cm:MyAppPublisher} +SolidCompression=no +UninstallIconFile=uninstall.ico +SetupIconFile=MicrotekScan_App.ico +LicenseFile=MicrotekScan_App_License.txt +AlwaysShowComponentsList=true +ArchitecturesInstallIn64BitMode=x64 +;PrivilegesRequired=admin +DisableWelcomePage=no +ShowLanguageDialog=yes +ShowUndisplayableLanguages=yes +DisableDirPage=yes + +[Languages] Name: "english"; MessagesFile: "compiler:Languages/English.isl"; LicenseFile:MicrotekScan_App_License_En.txt +Name: "chinese_simp"; MessagesFile: "compiler:Languages/ChineseSimp.isl"; LicenseFile:MicrotekScan_App_License.txt ;Name: "chinese_trad"; MessagesFile: "compiler:Languages/ChineseTrad.isl"; LicenseFile:MicrotekScan_App_License_Cn_Tr.txt + +[CustomMessages] +; english +english.MyAppName=Microtek DocWizard EX TWAIN +english.MyAppPublisher=Shanghai Microtek Technology Co., Ltd +; chinese_simp +chinese_simp.MyAppName=Microtek DocWizard EX TWAIN +chinese_simp.MyAppPublisher=上海中晶科技有限公司 +; chinese_trad +;chinese_trad.MyAppName=Microtek DocWizard EX TWAIN +;chinese_trad.MyAppPublisher=上海中晶科技有限公司 + +[Files] + +Source: ".\MicrotekScan_App.ico"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion + +; twain32 Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_scanSettings_Help_manual.pdf"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_scanSettings_Help_manual_EN.pdf"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\Release\ZJTwainUI.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\VC++\*.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\OEM\microtek\sane.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\OEM\microtek\scanner.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\OEM\microtek\lang.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\..\lang\*"; DestDir: "{win}\twain_32\MicrotekTwain\lang\"; Flags: ignoreversion; +Source: "..\..\x86\Release\ZJBase.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\Release\ZJImgFmt.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\Release\ZJImgProc.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\Release\ZJVersion.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\Release\tessdata\*"; DestDir: "{win}\twain_32\MicrotekTwain\tessdata\"; Flags: ignoreversion; +Source: "..\..\x86\OEM\microtek\microtektwain9200.ds"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion; +Source: "..\..\x86\Release\microtek-settings\*"; DestDir: "{win}\twain_32\MicrotekTwain\settings\"; Flags: ignoreversion recursesubdirs + +; twain64 +Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_scanSettings_Help_manual.pdf"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_scanSettings_Help_manual_EN.pdf"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJTwainUI.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\VC++\*"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\microtek\sane.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\microtek\scanner.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\microtek\lang.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\..\lang\*"; DestDir: "{win}\twain_64\MicrotekTwain\lang\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJBase.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJImgFmt.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJImgProc.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\ZJVersion.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\Release\tessdata\*"; DestDir: "{win}\twain_64\MicrotekTwain\tessdata\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x64\OEM\microtek\microtektwain9200.ds"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode +Source: "..\..\x86\Release\microtek-settings\*"; DestDir: "{win}\twain_64\MicrotekTwain\settings\"; Flags: ignoreversion recursesubdirs; Check: Is64BitInstallMode + +;拷贝驱动 +Source: "..\..\usb\microtek\Microtek_A3HG_scanner_usb.inf"; DestDir: "{win}\twain_32\MicrotekTwain\driver\"; Flags: ignoreversion recursesubdirs; +Source: "..\..\usb\microtek\Microtek_A3HG_scanner_usb.cat"; DestDir: "{win}\twain_32\MicrotekTwain\driver\"; Flags: ignoreversion recursesubdirs; +Source: "..\..\x86\Release\DPInst32.exe"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64 +Source: "..\..\x64\Release\DPInst64.exe"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion recursesubdirs; Check: IsWin64 + + +[INI] + +[Icons] +Name: "{group}\Uninstall"; Filename: "{uninstallexe}"; Languages: english +Name: "{group}\卸载"; Filename: "{uninstallexe}"; Languages: chinese_simp +;Name: "{group}\卸載"; Filename: "{uninstallexe}"; Languages: chinese_trad + +[Registry] +Root: HKLM; Subkey: "Software\MicrotekScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{win}\twain_32\MicrotekTwain"; Flags: uninsdeletekey +Root: HKLM; Subkey: "Software\MicrotekScan"; ValueType: string; ValueName: "DriverPath64"; ValueData: "{win}\twain_64\MicrotekTwain"; Flags: uninsdeletekey; Check: Is64BitInstallMode +Root: HKLM; Subkey: "Software\WOW6432Node\MicrotekScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{win}\twain_32\MicrotekTwain"; Flags: uninsdeletekey; Check: Is64BitInstallMode +Root: HKLM; Subkey: "Software\WOW6432Node\MicrotekScan"; ValueType: string; ValueName: "DriverPath64"; ValueData: "{win}\twain_64\MicrotekTwain"; Flags: uninsdeletekey; Check: Is64BitInstallMode + +[Code] + +function SetUninstallIcon(iconPath:string): Boolean; +var + InstalledVersion,SubKeyName: String; +begin + SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{DDE9139A-3298-4CB8-BB31-755A1F158D93}_is1'; + RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath); +end; + +procedure CurPageChanged(CurPageID: Integer); +begin + if CurPageID = wpFinished then + begin + SetUninstallIcon(ExpandConstant('{win}\twain_32\MicrotekTwain\MicrotekScan_App.ico')); + end; +end; + +procedure CurUninstallStepChanged(CurUninstallStep:TUninstallStep); +begin + if CurUninstallStep = usDone then + begin + DelTree(ExpandConstant('{win}\twain_32\MicrotekTwain'), True, True, True); + DelTree(ExpandConstant('{win}\twain_64\MicrotekTwain'), True, True, True); + end; + end; + +[Run] +Filename: "{win}\twain_32\MicrotekTwain\DPInst32"; Parameters: "/path ""{win}\twain_32\MicrotekTwain\driver"" /sw /se /lm /f"; Check: not IsWin64 +Filename: "{win}\twain_32\MicrotekTwain\DPInst64"; Parameters: "/path ""{win}\twain_32\MicrotekTwain\driver"" /sw /se /lm /f"; Check: IsWin64 + +[UninstallRun] ;Filename: "{win}\twain_32\MicrotekTwain\DPInst32"; Parameters: "/u ""{win}\twain_32\MicrotekTwain\driver\Microtek_A3HG_scanner_usb.inf"" /q /d"; Check: not IsWin64 ;Filename: "{win}\twain_32\MicrotekTwain\DPInst64"; Parameters: "/u ""{win}\twain_32\MicrotekTwain\driver\Microtek_A3HG_scanner_usb.inf"" /q /d"; Check: IsWin64 \ No newline at end of file