mirror of http://192.168.10.5:8099/sane/release
319 lines
21 KiB
Plaintext
319 lines
21 KiB
Plaintext
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
|
|
|
|
#define MyAppVersion GetFileVersion('..\..\x64\OEM\deli\sanexy.dll')
|
|
#define MyAppSetupName "DeliScan_App_Setup"
|
|
#define MyAppDefSetupDir "DELI SCAN"
|
|
|
|
[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={{84E0B104-C723-4B6F-8F5B-C4AC23EBB91F}
|
|
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=DeliScan_App.ico
|
|
LicenseFile=DeliScan_App_License.txt
|
|
AlwaysShowComponentsList=true
|
|
ArchitecturesInstallIn64BitMode=x64
|
|
;PrivilegesRequired=admin
|
|
DisableWelcomePage=no
|
|
;ShowLanguageDialog=yes
|
|
;ShowUndisplayableLanguages=yes
|
|
|
|
[Languages]
|
|
;Name: "english"; MessagesFile: "compiler:Languages/English.isl"; LicenseFile:DeliScan_App_License_En.txt
|
|
Name: "chinese_simp"; MessagesFile: "compiler:Languages/ChineseSimp.isl"; LicenseFile:DeliScan_App_License.txt
|
|
;Name: "chinese_trad"; MessagesFile: "compiler:Languages/ChineseTrad.isl"; LicenseFile:DeliScan_App_License_Cn_Tr.txt
|
|
|
|
[CustomMessages]
|
|
chinese_simp.MyAppName=得力扫描软件
|
|
chinese_simp.MyAppPublisher=得力集团有限公司
|
|
chinese_simp.MyStr1=扫描软件已安装,是否卸载原版本?
|
|
chinese_simp.MyStr2=请先关闭旧版扫描软件!
|
|
chinese_simp.MyStr3=卸载旧版扫描软件失败,停止安装!
|
|
chinese_simp.MyStr4=请先关闭扫描软件!
|
|
|
|
[Components]
|
|
Name: "TwainS3000"; Description: "DELI SCAN S3000 TWAIN" ; Types: Full
|
|
Name: "TwainS2000"; Description: "DELI SCAN S2000 TWAIN" ; Types: Full
|
|
Name: "TwainDL9000"; Description: "DELI SCAN DL9000 TWAIN" ; Types: Full
|
|
|
|
[Files]
|
|
|
|
; app
|
|
Source: ".\DeliScan_App.ico"; DestDir: "{app}\"; Flags: ignoreversion
|
|
Source: "..\..\..\..\code_app\doc\scanner\DeliScan_App_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion
|
|
Source: "..\..\..\..\code_app\doc\scanner\DeliScan_scanSettings_Help_manual.pdf"; DestDir: "{app}\"; Flags: ignoreversion
|
|
|
|
; app32
|
|
Source: "..\..\x86\Release\DLTwainUI.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\Release\DLTwainUser.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\Release\hwusbdev.key"; 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\DELI SCAN2.exe"; DestDir: "{app}\"; DestName: "DELI SCAN.exe"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
;Source: "..\..\x86\Release\DLFWUpgradeApp.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
|
|
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\DLBase.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\Release\DLImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\Release\DLImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\Release\HwOcrSdk.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\Release\libmupdf.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\pdflib.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\VC++\*"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\OEM\deli\sanexy.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\OEM\deli\scannerqd.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\OEM\deli\yuyanbao.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
Source: "..\..\..\lang\*"; DestDir: "{app}\lang\"; Flags: ignoreversion; Check: not Is64BitInstallMode
|
|
|
|
; app64
|
|
Source: "..\..\x64\Release\DLTwainUI.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\Release\DLTwainUser.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\Release\hwusbdev.key"; 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\DELI SCAN2.exe"; DestDir: "{app}\"; DestName: "DELI SCAN.exe"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
;Source: "..\..\x64\Release\DLFWUpgradeApp.exe"; 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\DLBase.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\Release\DLImgFmt.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\Release\DLImgProc.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\Release\HwOcrSdk.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\Release\libmupdf.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\pdflib.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\VC++\*"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\Release\zlib.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\OEM\deli\sanexy.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\OEM\deli\scannerqd.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\OEM\deli\yuyanbao.dll"; DestDir: "{app}\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\..\lang\*"; DestDir: "{app}\lang\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
|
|
;TWAINDSM
|
|
Source: "..\..\x86\Release\TWAINDSM.dll"; DestDir: "{sys}\"; Flags: ignoreversion onlyifdoesntexist; Check: not Is64BitInstallMode
|
|
Source: "..\..\x86\Release\TWAINDSM.dll"; DestDir: "{syswow64}\"; Flags: ignoreversion onlyifdoesntexist; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\Release\TWAINDSM.dll"; DestDir: "{sys}\"; Flags: ignoreversion onlyifdoesntexist; Check: Is64BitInstallMode
|
|
|
|
; twain32
|
|
Source: "..\..\x86\Release\DLTwainUI.dll"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\..\..\code_app\doc\scanner\DeliScan_scanSettings_Help_manual.pdf"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\VC++\*"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\OEM\deli\sanexy.dll"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\OEM\deli\scannerqd.dll"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\OEM\deli\yuyanbao.dll"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\..\lang\*"; DestDir: "{win}\twain_32\DeliTwain\lang\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\Release\DLBase.dll"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\Release\DLImgFmt.dll"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\Release\DLImgProc.dll"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\Release\DLVersion.dll"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\Release\tessdata\*"; DestDir: "{win}\twain_32\DeliTwain\tessdata\"; Flags: ignoreversion; Check: Is64BitInstallMode
|
|
Source: "..\..\x86\OEM\deli\delitwain401C.ds"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Components: TwainS3000;
|
|
Source: "..\..\x86\OEM\deli\delitwain4015.ds"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Components: TwainS2000;
|
|
Source: "..\..\x86\OEM\deli\delitwain4019.ds"; DestDir: "{win}\twain_32\DeliTwain\"; Flags: ignoreversion; Components: TwainDL9000;
|
|
|
|
; twain64
|
|
Source: "..\..\x64\OEM\deli\delitwain401C.ds"; DestDir: "{win}\twain_64\DeliTwain\"; Flags: ignoreversion; Components: TwainS3000; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\OEM\deli\delitwain4015.ds"; DestDir: "{win}\twain_64\DeliTwain\"; Flags: ignoreversion; Components: TwainS2000; Check: Is64BitInstallMode
|
|
Source: "..\..\x64\OEM\deli\delitwain4019.ds"; DestDir: "{win}\twain_64\DeliTwain\"; Flags: ignoreversion; Components: TwainDL9000; Check: Is64BitInstallMode
|
|
|
|
;拷贝驱动
|
|
Source: "..\..\usb\deli\*.*"; 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}\DELI SCAN.exe"
|
|
Name: "{group}\{cm:MyAppName}"; Filename: "{app}\DELI SCAN.exe"
|
|
;Name: "{group}\Deli scanning software help document"; Filename: "{app}\DeliScan_App_Help_manual.pdf"; Languages: english
|
|
Name: "{group}\得力扫描软件帮助文档"; Filename: "{app}\DeliScan_App_Help_manual.pdf"; Languages: chinese_simp
|
|
;Name: "{group}\得力掃描軟件幫助文檔"; Filename: "{app}\DeliScan_App_Help_manual.pdf"; Languages: chinese_trad
|
|
;Name: "{group}\Uninstall {cm:MyAppName}"; Filename: "{uninstallexe}"; Languages: english
|
|
Name: "{group}\卸载 {cm:MyAppName}"; Filename: "{uninstallexe}"; Languages: chinese_simp
|
|
;Name: "{group}\卸載 {cm:MyAppName}"; Filename: "{uninstallexe}"; Languages: chinese_trad
|
|
|
|
[Registry]
|
|
Root: HKLM; Subkey: "Software\DeliScan"; ValueType: string; ValueName: "AppDirectory"; ValueData: "{app}"; Flags: uninsdeletekey
|
|
Root: HKLM; Subkey: "Software\DeliScan"; ValueType: string; ValueName: "Application"; ValueData: "{app}\DELI SCAN.exe"; Flags: uninsdeletekey
|
|
Root: HKLM; Subkey: "Software\DeliScan"; ValueType: string; ValueName: "AppVersion"; ValueData: "{#MyAppVersion}"; Flags: uninsdeletekey
|
|
Root: HKLM; Subkey: "Software\DeliScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{app}"; Flags: uninsdeletekey; Check: not Is64BitInstallMode
|
|
Root: HKLM; Subkey: "Software\DeliScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{win}\twain_32\DeliTwain"; Flags: uninsdeletekey; Check: Is64BitInstallMode
|
|
Root: HKLM; Subkey: "Software\DeliScan"; ValueType: string; ValueName: "DriverPath64"; ValueData: "{app}"; Flags: uninsdeletekey; Check: Is64BitInstallMode
|
|
Root: HKLM; Subkey: "Software\WOW6432Node\DeliScan"; ValueType: string; ValueName: "DriverPath"; ValueData: "{win}\twain_32\DeliTwain"; Flags: uninsdeletekey; Check: Is64BitInstallMode
|
|
Root: HKLM; Subkey: "Software\WOW6432Node\DeliScan"; 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\{84E0B104-C723-4B6F-8F5B-C4AC23EBB91F}_is1', 'Inno Setup: App Path') then
|
|
begin
|
|
RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{84E0B104-C723-4B6F-8F5B-C4AC23EBB91F}_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_DELI', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode) then
|
|
begin
|
|
if 0 = ErrorCode then
|
|
begin
|
|
if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{84E0B104-C723-4B6F-8F5B-C4AC23EBB91F}_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\{84E0B104-C723-4B6F-8F5B-C4AC23EBB91F}_is1';
|
|
RegWriteStringValue(HKLM,SubKeyName,'DisplayIcon',iconPath);
|
|
end;
|
|
|
|
function InitializeUninstall(): Boolean;
|
|
var
|
|
ErrorCode: Integer;
|
|
begin
|
|
Result := false;
|
|
if Exec(ExpandConstant('{app}\CheckNewApp.exe'), 'OEM_DELI', '', 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}\DeliScan_App.ico'));
|
|
DelTree(ExpandConstant('{win}\twain_32\DeliTwain\x86'), True, True, True);
|
|
DelTree(ExpandConstant('{win}\twain_32\DeliTwain\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\DeliTwain'), True, True, True);
|
|
DelTree(ExpandConstant('{win}\twain_64\DeliTwain'), 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}\DELI SCAN.exe"; Description: "{cm:LaunchProgram, {cm:MyAppName}}"; Parameters:"-language=english"; Flags: postinstall nowait skipifsilent; Languages: english
|
|
Filename: "{app}\DELI SCAN.exe"; Description: "{cm:LaunchProgram, {cm:MyAppName}}"; Parameters:"-language=chinese"; Flags: postinstall nowait skipifsilent; Languages: chinese_simp
|
|
;Filename: "{app}\DELI SCAN.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\deliscannerusb.inf"" /q /d"; Check: not IsWin64
|
|
;Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\deliscannerusb.inf"" /q /d"; Check: IsWin64 |