diff --git a/win/package/hanvon/HanvonScan_App_Setup_4.15.10000.22217.exe b/win/package/hanvon/HanvonScan_App_Setup_4.15.10000.22217.exe index 4ded580..a7dd31b 100644 Binary files a/win/package/hanvon/HanvonScan_App_Setup_4.15.10000.22217.exe and b/win/package/hanvon/HanvonScan_App_Setup_4.15.10000.22217.exe differ diff --git a/win/package/hanvon/HanvonScan_App_Setup_4.15.10000.22217_x64.exe b/win/package/hanvon/HanvonScan_App_Setup_4.15.10000.22217_x64.exe new file mode 100644 index 0000000..6df969a Binary files /dev/null and b/win/package/hanvon/HanvonScan_App_Setup_4.15.10000.22217_x64.exe differ diff --git a/win/package/hanvon/HanvonWebSdk_Setup_4.15.10000.22217.exe b/win/package/hanvon/HanvonWebSdk_Setup_4.15.10000.22217.exe index 75a0aaa..3e7d9f1 100644 Binary files a/win/package/hanvon/HanvonWebSdk_Setup_4.15.10000.22217.exe and b/win/package/hanvon/HanvonWebSdk_Setup_4.15.10000.22217.exe differ diff --git a/win/package/huagao/HuaGoScan_App_Setup_4.15.10000.22217.exe b/win/package/huagao/HuaGoScan_App_Setup_4.15.10000.22217.exe index 85f14a3..350a98e 100644 Binary files a/win/package/huagao/HuaGoScan_App_Setup_4.15.10000.22217.exe and b/win/package/huagao/HuaGoScan_App_Setup_4.15.10000.22217.exe differ diff --git a/win/package/huagao/HuaGoScan_App_Setup_4.15.10000.22217_x64.exe b/win/package/huagao/HuaGoScan_App_Setup_4.15.10000.22217_x64.exe new file mode 100644 index 0000000..bae4c3f Binary files /dev/null and b/win/package/huagao/HuaGoScan_App_Setup_4.15.10000.22217_x64.exe differ diff --git a/win/package/huagao/HuaGoWebSdk_Setup_4.15.10000.22217.exe b/win/package/huagao/HuaGoWebSdk_Setup_4.15.10000.22217.exe index dd54f7f..7717546 100644 Binary files a/win/package/huagao/HuaGoWebSdk_Setup_4.15.10000.22217.exe and b/win/package/huagao/HuaGoWebSdk_Setup_4.15.10000.22217.exe differ diff --git a/win/package/lanxum/LanxumScan_App_Setup_4.15.10000.22217.exe b/win/package/lanxum/LanxumScan_App_Setup_4.15.10000.22217.exe index 7267c78..c24cbb7 100644 Binary files a/win/package/lanxum/LanxumScan_App_Setup_4.15.10000.22217.exe and b/win/package/lanxum/LanxumScan_App_Setup_4.15.10000.22217.exe differ diff --git a/win/package/lanxum/LanxumScan_App_Setup_4.15.10000.22217_x64.exe b/win/package/lanxum/LanxumScan_App_Setup_4.15.10000.22217_x64.exe new file mode 100644 index 0000000..8f8ff65 Binary files /dev/null and b/win/package/lanxum/LanxumScan_App_Setup_4.15.10000.22217_x64.exe differ diff --git a/win/package/lanxum/LanxumWebSdk_Setup_4.15.10000.22217.exe b/win/package/lanxum/LanxumWebSdk_Setup_4.15.10000.22217.exe index 05e06ac..ec48e87 100644 Binary files a/win/package/lanxum/LanxumWebSdk_Setup_4.15.10000.22217.exe and b/win/package/lanxum/LanxumWebSdk_Setup_4.15.10000.22217.exe differ diff --git a/win/setup/scanner/HanvonScan_App_Setup.iss b/win/setup/scanner/HanvonScan_App_Setup.iss index 35e1e11..1e1a298 100644 --- a/win/setup/scanner/HanvonScan_App_Setup.iss +++ b/win/setup/scanner/HanvonScan_App_Setup.iss @@ -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: "..\..\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\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\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion -Source: "..\..\x86\OEM\hanvon\hanvontwain1000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain1000; -Source: "..\..\x86\OEM\hanvon\hanvontwain1002.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain1002; -Source: "..\..\x86\OEM\hanvon\hanvontwain7000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain7000; -Source: "..\..\x86\OEM\hanvon\hanvontwain7002.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain7002; -Source: "..\..\x86\OEM\hanvon\hanvontwain7039.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain7039; -Source: "..\..\x86\OEM\hanvon\hanvontwain8000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8000; -Source: "..\..\x86\OEM\hanvon\hanvontwain9000.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain9000; +Source: "..\..\x86\OEM\hanvon\hanvontwain1000.ds"; DestDir: "{win}\twain_32\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain1000; +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\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain7000; +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\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain7039; +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\HanvonTwain\x86\"; Flags: ignoreversion; Components: Twain9000; ;拷贝驱动 Source: "..\..\x86\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; Source: "..\..\x86\Release\scannerusb.cat"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; -Source: "..\driver\x86\DPInst32.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64 -Source: "..\driver\x64\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64 +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\HWRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion @@ -159,13 +159,8 @@ function SetUninstallIcon(iconPath:string): Boolean; var InstalledVersion,SubKeyName: String; begin -if (IsWin64()) then begin -SubKeyName := 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{4486975C-CBCF-430B-BED1-427866D1738E}_is1'; - 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; + SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{4486975C-CBCF-430B-BED1-427866D1738E}_is1'; + RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath); end; function InitializeUninstall(): Boolean; diff --git a/win/setup/scanner/HanvonScan_App_Setup_x64.iss b/win/setup/scanner/HanvonScan_App_Setup_x64.iss new file mode 100644 index 0000000..6d0f018 --- /dev/null +++ b/win/setup/scanner/HanvonScan_App_Setup_x64.iss @@ -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"; \ No newline at end of file diff --git a/win/setup/scanner/HuaGoScan_App_Setup.iss b/win/setup/scanner/HuaGoScan_App_Setup.iss index 21c2e86..4c24133 100644 --- a/win/setup/scanner/HuaGoScan_App_Setup.iss +++ b/win/setup/scanner/HuaGoScan_App_Setup.iss @@ -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: "..\..\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\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\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion -Source: "..\..\x86\OEM\huagao\huagaotwain100.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG100; -Source: "..\..\x86\OEM\huagao\huagaotwain139.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG139; -Source: "..\..\x86\OEM\huagao\huagaotwain200.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG200; -Source: "..\..\x86\OEM\huagao\huagaotwain239.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG239; -Source: "..\..\x86\OEM\huagao\huagaotwain300.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG300; -Source: "..\..\x86\OEM\huagao\huagaotwain400.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG400; -Source: "..\..\x86\OEM\huagao\huagaotwain402.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG402; -Source: "..\..\x86\OEM\huagao\huagaotwain439.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: TwainG439; +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\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG139; +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\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG239; +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\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG400; +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\HuaGoTwain\x86\"; Flags: ignoreversion; Components: TwainG439; ;拷贝驱动 Source: "..\..\x86\Release\scannerusb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; Source: "..\..\x86\Release\scannerusb.cat"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; -Source: "..\driver\x86\DPInst32.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64 -Source: "..\driver\x64\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64 +Source: "..\..\x86\Release\DPInst32.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64 +Source: "..\..\x64\Release\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64 ; 临时使用 Source: "..\..\x86\Release\HGRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion @@ -161,13 +161,8 @@ function SetUninstallIcon(iconPath:string): Boolean; var InstalledVersion,SubKeyName: String; begin -if (IsWin64()) then begin -SubKeyName := 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1'; - RegWriteStringValue(HKLM64,SubKeyName,'DisplayIcon',iconPath); - end else begin -SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1'; - RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath); - end; + SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{7076DC53-5C2F-4216-9783-2A6F954FEB3E}_is1'; + RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath); end; function InitializeUninstall(): Boolean; diff --git a/win/setup/scanner/HuaGoScan_App_Setup_x64.iss b/win/setup/scanner/HuaGoScan_App_Setup_x64.iss new file mode 100644 index 0000000..d71a65c --- /dev/null +++ b/win/setup/scanner/HuaGoScan_App_Setup_x64.iss @@ -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"; \ No newline at end of file diff --git a/win/setup/scanner/LanxumScan_App_Setup.iss b/win/setup/scanner/LanxumScan_App_Setup.iss index 12f6964..df37270 100644 --- a/win/setup/scanner/LanxumScan_App_Setup.iss +++ b/win/setup/scanner/LanxumScan_App_Setup.iss @@ -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: "..\..\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\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\scanner.dll"; DestDir: "{app}\"; Flags: ignoreversion -Source: "..\..\x86\OEM\lanxum\lanxumtwain8200.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8200; -Source: "..\..\x86\OEM\lanxum\lanxumtwain8420.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8420; -Source: "..\..\x86\OEM\lanxum\lanxumtwain8429.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8429; -Source: "..\..\x86\OEM\lanxum\lanxumtwain8520.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8520; -Source: "..\..\x86\OEM\lanxum\lanxumtwain8529.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8529; -Source: "..\..\x86\OEM\lanxum\lanxumtwain8620.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8620; -Source: "..\..\x86\OEM\lanxum\lanxumtwain8629.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8629; -Source: "..\..\x86\OEM\lanxum\lanxumtwain8730.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8730; -Source: "..\..\x86\OEM\lanxum\lanxumtwain8739.ds"; DestDir: "{win}\twain_32\"; Flags: ignoreversion; Components: Twain8739; +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\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8420; +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\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8520; +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\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8620; +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\LanxumTwain\x86\"; Flags: ignoreversion; Components: Twain8730; +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.cat"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; -Source: "..\driver\x86\DPInst32.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: not IsWin64 -Source: "..\driver\x64\DPInst64.exe"; DestDir: "{app}\"; Flags: ignoreversion recursesubdirs; Check: IsWin64 +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\LSCRemoveOldApp.exe"; DestDir: "{tmp}\"; Flags: ignoreversion @@ -162,13 +162,8 @@ function SetUninstallIcon(iconPath:string): Boolean; var InstalledVersion,SubKeyName: String; begin -if (IsWin64()) then begin -SubKeyName := 'Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{F2890F43-A51C-4379-BB79-992616B1D6BD}_is1'; - 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; + SubKeyName := 'Software\Microsoft\Windows\CurrentVersion\Uninstall\{F2890F43-A51C-4379-BB79-992616B1D6BD}_is1'; + RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath); end; function InitializeUninstall(): Boolean; diff --git a/win/setup/scanner/LanxumScan_App_Setup_x64.iss b/win/setup/scanner/LanxumScan_App_Setup_x64.iss new file mode 100644 index 0000000..019a890 --- /dev/null +++ b/win/setup/scanner/LanxumScan_App_Setup_x64.iss @@ -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"; \ No newline at end of file diff --git a/win/setup/webservice/HanvonWebSdk_Setup.iss b/win/setup/webservice/HanvonWebSdk_Setup.iss index 90df21e..2980c0e 100644 --- a/win/setup/webservice/HanvonWebSdk_Setup.iss +++ b/win/setup/webservice/HanvonWebSdk_Setup.iss @@ -36,7 +36,7 @@ Source: ".\HanvonWebSdk.ico"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hwusbdev.key"; 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: "..\..\..\..\code_app\doc\webservice\新版websdk接口说明.doc"; DestDir: "{app}\doc\"; Flags: ignoreversion diff --git a/win/setup/webservice/HuaGoWebSdk_Setup.iss b/win/setup/webservice/HuaGoWebSdk_Setup.iss index 01718c7..10d2d42 100644 --- a/win/setup/webservice/HuaGoWebSdk_Setup.iss +++ b/win/setup/webservice/HuaGoWebSdk_Setup.iss @@ -36,7 +36,7 @@ Source: ".\HuaGoWebSdk.ico"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hwusbdev.key"; 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: "..\..\..\..\code_app\doc\webservice\新版websdk接口说明.doc"; DestDir: "{app}\doc\"; Flags: ignoreversion diff --git a/win/setup/webservice/LanxumWebSdk_Setup.iss b/win/setup/webservice/LanxumWebSdk_Setup.iss index acc1265..d173af7 100644 --- a/win/setup/webservice/LanxumWebSdk_Setup.iss +++ b/win/setup/webservice/LanxumWebSdk_Setup.iss @@ -36,7 +36,7 @@ Source: ".\LanxumWebSdk.ico"; DestDir: "{app}\"; Flags: ignoreversion Source: "..\..\x86\Release\hwusbdev.key"; 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: "..\..\..\..\code_app\doc\webservice\新版websdk接口说明.doc"; DestDir: "{app}\doc\"; Flags: ignoreversion diff --git a/win/x64/Qt/Qt5Core.dll b/win/x64/Qt/Qt5Core.dll new file mode 100644 index 0000000..0cf12ee Binary files /dev/null and b/win/x64/Qt/Qt5Core.dll differ diff --git a/win/x64/Qt/Qt5Gui.dll b/win/x64/Qt/Qt5Gui.dll new file mode 100644 index 0000000..289239e Binary files /dev/null and b/win/x64/Qt/Qt5Gui.dll differ diff --git a/win/x64/Qt/Qt5Svg.dll b/win/x64/Qt/Qt5Svg.dll new file mode 100644 index 0000000..ce68d69 Binary files /dev/null and b/win/x64/Qt/Qt5Svg.dll differ diff --git a/win/x64/Qt/Qt5Widgets.dll b/win/x64/Qt/Qt5Widgets.dll new file mode 100644 index 0000000..6956468 Binary files /dev/null and b/win/x64/Qt/Qt5Widgets.dll differ diff --git a/win/x64/Qt/iconengines/qsvgicon.dll b/win/x64/Qt/iconengines/qsvgicon.dll new file mode 100644 index 0000000..eb5d1c6 Binary files /dev/null and b/win/x64/Qt/iconengines/qsvgicon.dll differ diff --git a/win/x64/Qt/imageformats/qgif.dll b/win/x64/Qt/imageformats/qgif.dll new file mode 100644 index 0000000..81949c7 Binary files /dev/null and b/win/x64/Qt/imageformats/qgif.dll differ diff --git a/win/x64/Qt/imageformats/qicns.dll b/win/x64/Qt/imageformats/qicns.dll new file mode 100644 index 0000000..fcbcc80 Binary files /dev/null and b/win/x64/Qt/imageformats/qicns.dll differ diff --git a/win/x64/Qt/imageformats/qico.dll b/win/x64/Qt/imageformats/qico.dll new file mode 100644 index 0000000..b7139ff Binary files /dev/null and b/win/x64/Qt/imageformats/qico.dll differ diff --git a/win/x64/Qt/imageformats/qjpeg.dll b/win/x64/Qt/imageformats/qjpeg.dll new file mode 100644 index 0000000..b500686 Binary files /dev/null and b/win/x64/Qt/imageformats/qjpeg.dll differ diff --git a/win/x64/Qt/imageformats/qsvg.dll b/win/x64/Qt/imageformats/qsvg.dll new file mode 100644 index 0000000..8971707 Binary files /dev/null and b/win/x64/Qt/imageformats/qsvg.dll differ diff --git a/win/x64/Qt/imageformats/qtga.dll b/win/x64/Qt/imageformats/qtga.dll new file mode 100644 index 0000000..b04a096 Binary files /dev/null and b/win/x64/Qt/imageformats/qtga.dll differ diff --git a/win/x64/Qt/imageformats/qtiff.dll b/win/x64/Qt/imageformats/qtiff.dll new file mode 100644 index 0000000..e588f27 Binary files /dev/null and b/win/x64/Qt/imageformats/qtiff.dll differ diff --git a/win/x64/Qt/imageformats/qwbmp.dll b/win/x64/Qt/imageformats/qwbmp.dll new file mode 100644 index 0000000..808a593 Binary files /dev/null and b/win/x64/Qt/imageformats/qwbmp.dll differ diff --git a/win/x64/Qt/imageformats/qwebp.dll b/win/x64/Qt/imageformats/qwebp.dll new file mode 100644 index 0000000..ca7a8d2 Binary files /dev/null and b/win/x64/Qt/imageformats/qwebp.dll differ diff --git a/win/x64/Qt/platforms/qwindows.dll b/win/x64/Qt/platforms/qwindows.dll new file mode 100644 index 0000000..dfce4d3 Binary files /dev/null and b/win/x64/Qt/platforms/qwindows.dll differ diff --git a/win/x64/Qt/styles/qwindowsvistastyle.dll b/win/x64/Qt/styles/qwindowsvistastyle.dll new file mode 100644 index 0000000..f19c93d Binary files /dev/null and b/win/x64/Qt/styles/qwindowsvistastyle.dll differ diff --git a/win/x64/Qt/translations/qt_ar.qm b/win/x64/Qt/translations/qt_ar.qm new file mode 100644 index 0000000..1e9227a Binary files /dev/null and b/win/x64/Qt/translations/qt_ar.qm differ diff --git a/win/x64/Qt/translations/qt_bg.qm b/win/x64/Qt/translations/qt_bg.qm new file mode 100644 index 0000000..dcec255 Binary files /dev/null and b/win/x64/Qt/translations/qt_bg.qm differ diff --git a/win/x64/Qt/translations/qt_ca.qm b/win/x64/Qt/translations/qt_ca.qm new file mode 100644 index 0000000..0b798e5 Binary files /dev/null and b/win/x64/Qt/translations/qt_ca.qm differ diff --git a/win/x64/Qt/translations/qt_cs.qm b/win/x64/Qt/translations/qt_cs.qm new file mode 100644 index 0000000..3ab5ca7 Binary files /dev/null and b/win/x64/Qt/translations/qt_cs.qm differ diff --git a/win/x64/Qt/translations/qt_da.qm b/win/x64/Qt/translations/qt_da.qm new file mode 100644 index 0000000..6756496 Binary files /dev/null and b/win/x64/Qt/translations/qt_da.qm differ diff --git a/win/x64/Qt/translations/qt_de.qm b/win/x64/Qt/translations/qt_de.qm new file mode 100644 index 0000000..9c8e9b4 Binary files /dev/null and b/win/x64/Qt/translations/qt_de.qm differ diff --git a/win/x64/Qt/translations/qt_en.qm b/win/x64/Qt/translations/qt_en.qm new file mode 100644 index 0000000..9dad8df Binary files /dev/null and b/win/x64/Qt/translations/qt_en.qm differ diff --git a/win/x64/Qt/translations/qt_es.qm b/win/x64/Qt/translations/qt_es.qm new file mode 100644 index 0000000..82012da Binary files /dev/null and b/win/x64/Qt/translations/qt_es.qm differ diff --git a/win/x64/Qt/translations/qt_fi.qm b/win/x64/Qt/translations/qt_fi.qm new file mode 100644 index 0000000..2548cca Binary files /dev/null and b/win/x64/Qt/translations/qt_fi.qm differ diff --git a/win/x64/Qt/translations/qt_fr.qm b/win/x64/Qt/translations/qt_fr.qm new file mode 100644 index 0000000..8353f0a Binary files /dev/null and b/win/x64/Qt/translations/qt_fr.qm differ diff --git a/win/x64/Qt/translations/qt_gd.qm b/win/x64/Qt/translations/qt_gd.qm new file mode 100644 index 0000000..fd7eecd Binary files /dev/null and b/win/x64/Qt/translations/qt_gd.qm differ diff --git a/win/x64/Qt/translations/qt_he.qm b/win/x64/Qt/translations/qt_he.qm new file mode 100644 index 0000000..e15d45e Binary files /dev/null and b/win/x64/Qt/translations/qt_he.qm differ diff --git a/win/x64/Qt/translations/qt_hu.qm b/win/x64/Qt/translations/qt_hu.qm new file mode 100644 index 0000000..b51bd1a Binary files /dev/null and b/win/x64/Qt/translations/qt_hu.qm differ diff --git a/win/x64/Qt/translations/qt_it.qm b/win/x64/Qt/translations/qt_it.qm new file mode 100644 index 0000000..0d9d17d Binary files /dev/null and b/win/x64/Qt/translations/qt_it.qm differ diff --git a/win/x64/Qt/translations/qt_ja.qm b/win/x64/Qt/translations/qt_ja.qm new file mode 100644 index 0000000..74409b1 Binary files /dev/null and b/win/x64/Qt/translations/qt_ja.qm differ diff --git a/win/x64/Qt/translations/qt_ko.qm b/win/x64/Qt/translations/qt_ko.qm new file mode 100644 index 0000000..a46b8a0 Binary files /dev/null and b/win/x64/Qt/translations/qt_ko.qm differ diff --git a/win/x64/Qt/translations/qt_lv.qm b/win/x64/Qt/translations/qt_lv.qm new file mode 100644 index 0000000..c1dbfbd Binary files /dev/null and b/win/x64/Qt/translations/qt_lv.qm differ diff --git a/win/x64/Qt/translations/qt_pl.qm b/win/x64/Qt/translations/qt_pl.qm new file mode 100644 index 0000000..0909204 Binary files /dev/null and b/win/x64/Qt/translations/qt_pl.qm differ diff --git a/win/x64/Qt/translations/qt_ru.qm b/win/x64/Qt/translations/qt_ru.qm new file mode 100644 index 0000000..791bfc4 Binary files /dev/null and b/win/x64/Qt/translations/qt_ru.qm differ diff --git a/win/x64/Qt/translations/qt_sk.qm b/win/x64/Qt/translations/qt_sk.qm new file mode 100644 index 0000000..215d234 Binary files /dev/null and b/win/x64/Qt/translations/qt_sk.qm differ diff --git a/win/x64/Qt/translations/qt_uk.qm b/win/x64/Qt/translations/qt_uk.qm new file mode 100644 index 0000000..88c4362 Binary files /dev/null and b/win/x64/Qt/translations/qt_uk.qm differ diff --git a/win/x64/Qt/translations/qt_zh_TW.qm b/win/x64/Qt/translations/qt_zh_TW.qm new file mode 100644 index 0000000..051b516 Binary files /dev/null and b/win/x64/Qt/translations/qt_zh_TW.qm differ diff --git a/win/setup/driver/x64/DPInst64.exe b/win/x64/Release/DPInst64.exe similarity index 100% rename from win/setup/driver/x64/DPInst64.exe rename to win/x64/Release/DPInst64.exe diff --git a/win/setup/IsTask.dll b/win/x64/Release/IsTask.dll similarity index 100% rename from win/setup/IsTask.dll rename to win/x64/Release/IsTask.dll diff --git a/win/x64/Release/msvcp140.dll b/win/x64/Release/msvcp140.dll new file mode 100644 index 0000000..001669d Binary files /dev/null and b/win/x64/Release/msvcp140.dll differ diff --git a/win/x64/Release/vcruntime140.dll b/win/x64/Release/vcruntime140.dll new file mode 100644 index 0000000..12f01d0 Binary files /dev/null and b/win/x64/Release/vcruntime140.dll differ diff --git a/win/setup/driver/x86/DPInst32.exe b/win/x86/Release/DPInst32.exe similarity index 100% rename from win/setup/driver/x86/DPInst32.exe rename to win/x86/Release/DPInst32.exe diff --git a/win/x86/Release/IsTask.dll b/win/x86/Release/IsTask.dll new file mode 100644 index 0000000..20f4fad Binary files /dev/null and b/win/x86/Release/IsTask.dll differ