release/win/setup/scanner/MicrotekScan_Twain_Setup.iss

133 lines
8.1 KiB
Plaintext
Raw Normal View History

2023-02-03 07:20:08 +00:00
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppVersion "4.37.20100.23034"
#define MyAppSetupName "MicrotekScan_Twain_Setup"
#define MyAppDefSetupDir "MicrotekScanTwain"
[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 A3HG Scanner
english.MyAppPublisher=Shanghai Microtek Technology Co., Ltd
; chinese_simp
chinese_simp.MyAppName=<3D>о<EFBFBD>TWAIN<49><4E><EFBFBD><EFBFBD>
chinese_simp.MyAppPublisher=<3D>Ϻ<EFBFBD><CFBA>о<EFBFBD><D0BE>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾
; chinese_trad
;chinese_trad.MyAppName=<3D>о<EFBFBD>TWAIN<49><4E><EFBFBD><EFBFBD>
;chinese_trad.MyAppPublisher=<3D>Ϻ<EFBFBD><CFBA>о<EFBFBD><D0BE>Ƽ<EFBFBD><C6BC><EFBFBD><EFBFBD>޹<EFBFBD>˾
[Files]
; twain32 Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_scanSettings_Help_manual.pdf"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion;
Source: "..\..\x86\Release\msvcp140.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion;
Source: "..\..\x86\Release\vcruntime140.dll"; DestDir: "{win}\twain_32\MicrotekTwain\"; Flags: ignoreversion;
Source: "..\..\x86\Release\concrt140.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;
; twain64
Source: "..\..\..\..\code_app\doc\scanner\MicrotekScan_scanSettings_Help_manual.pdf"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\msvcp140.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\vcruntime140.dll"; DestDir: "{win}\twain_64\MicrotekTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
Source: "..\..\x64\Release\concrt140.dll"; 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
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
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
[INI]
[Icons]
Name: "{group}\Uninstall"; Filename: "{uninstallexe}"; Languages: english
Name: "{group}\ж<><D0B6>"; Filename: "{uninstallexe}"; Languages: chinese_simp
;Name: "{group}\ж<>d"; 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('{app}\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: "{app}\DPInst32"; Parameters: "/path ""{app}\driver"" /sw /se /lm /f"; Check: not IsWin64; Flags: runascurrentuser
Filename: "{app}\DPInst64"; Parameters: "/path ""{app}\driver"" /sw /se /lm /f"; Check: IsWin64; Flags: runascurrentuser
[UninstallRun] ;Filename: "{app}\DPInst32"; Parameters: "/u ""{app}\driver\Microtek_A3HG_scanner_usb.inf"" /q /d"; Check: not IsWin64; Flags: runascurrentuser ;Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\Microtek_A3HG_scanner_usb.inf"" /q /d"; Check: IsWin64; Flags: runascurrentuser