From 038fc9dc1bb54b0eb9026cd8a5814cf8e9db3158 Mon Sep 17 00:00:00 2001 From: luoliangyi <87842688@qq.com> Date: Fri, 1 Dec 2023 13:56:05 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E4=B8=AD=E6=99=B6usb?= =?UTF-8?q?=E9=A9=B1=E5=8A=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- win/setup/scanner/MicrotekScan_App_Setup.iss | 6 +- .../scannerlib/MicrotekScannerLib_Setup.iss | 4 +- win/setup/webservice/MicrotekWebSdk_Setup.iss | 4 +- .../microtek/Microtek_A3HG_scanner_usb.cat | Bin 7708 -> 0 bytes ...er_usb.inf => Microtek_A3_scanner_usb.inf} | 71 ++++++------------ win/usb/microtek/microtek_a3_scanner_usb.cat | Bin 0 -> 9061 bytes 6 files changed, 28 insertions(+), 57 deletions(-) delete mode 100644 win/usb/microtek/Microtek_A3HG_scanner_usb.cat rename win/usb/microtek/{Microtek_A3HG_scanner_usb.inf => Microtek_A3_scanner_usb.inf} (60%) create mode 100644 win/usb/microtek/microtek_a3_scanner_usb.cat diff --git a/win/setup/scanner/MicrotekScan_App_Setup.iss b/win/setup/scanner/MicrotekScan_App_Setup.iss index c453468..5d2cc1a 100644 --- a/win/setup/scanner/MicrotekScan_App_Setup.iss +++ b/win/setup/scanner/MicrotekScan_App_Setup.iss @@ -140,8 +140,8 @@ Source: "..\..\x64\OEM\microtek\lang.dll"; DestDir: "{app}\"; Flags: ignoreversi 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: "..\..\usb\microtek\Microtek_A3_scanner_usb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; +Source: "..\..\usb\microtek\Microtek_A3_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 @@ -295,4 +295,4 @@ Filename: "{app}\MicrotekScan.exe"; Description: "{cm:LaunchProgram, {cm:MyAppNa 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 +[UninstallRun] ;Filename: "{app}\DPInst32"; Parameters: "/u ""{app}\driver\Microtek_A3_scanner_usb.inf"" /q /d"; Check: not IsWin64 ;Filename: "{app}\DPInst64"; Parameters: "/u ""{app}\driver\Microtek_A3_scanner_usb.inf"" /q /d"; Check: IsWin64 \ No newline at end of file diff --git a/win/setup/scannerlib/MicrotekScannerLib_Setup.iss b/win/setup/scannerlib/MicrotekScannerLib_Setup.iss index 413d210..773d471 100644 --- a/win/setup/scannerlib/MicrotekScannerLib_Setup.iss +++ b/win/setup/scannerlib/MicrotekScannerLib_Setup.iss @@ -102,8 +102,8 @@ Source: "..\..\x64\Release\tinyxml2.dll"; DestDir: "{app}\bin\x64\"; Flags: igno Source: "..\..\x64\Release\zlib.dll"; DestDir: "{app}\bin\x64\"; Flags: ignoreversion; Check: IsWin64 ;¿½±´Çı¶¯ -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: "..\..\usb\microtek\Microtek_A3_scanner_usb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; +Source: "..\..\usb\microtek\Microtek_A3_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 diff --git a/win/setup/webservice/MicrotekWebSdk_Setup.iss b/win/setup/webservice/MicrotekWebSdk_Setup.iss index 17ec7d3..4b8fce4 100644 --- a/win/setup/webservice/MicrotekWebSdk_Setup.iss +++ b/win/setup/webservice/MicrotekWebSdk_Setup.iss @@ -101,8 +101,8 @@ Source: "..\..\x64\Release\tinyxml2.dll"; DestDir: "{app}\"; Flags: ignoreversio Source: "..\..\x64\Release\zlib.dll"; DestDir: "{app}\"; 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: "..\..\usb\microtek\Microtek_A3_scanner_usb.inf"; DestDir: "{app}\driver\"; Flags: ignoreversion recursesubdirs; +Source: "..\..\usb\microtek\Microtek_A3_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 diff --git a/win/usb/microtek/Microtek_A3HG_scanner_usb.cat b/win/usb/microtek/Microtek_A3HG_scanner_usb.cat deleted file mode 100644 index ccbd2f47a9385bd4aa415ab340d9f92859d03180..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7708 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 aeaU@SsAZU5{K@=l9zwW4R#I$|KJ!0%C;3GH diff --git a/win/usb/microtek/Microtek_A3HG_scanner_usb.inf b/win/usb/microtek/Microtek_A3_scanner_usb.inf similarity index 60% rename from win/usb/microtek/Microtek_A3HG_scanner_usb.inf rename to win/usb/microtek/Microtek_A3_scanner_usb.inf index 7ac53a5..679b7bf 100644 --- a/win/usb/microtek/Microtek_A3HG_scanner_usb.inf +++ b/win/usb/microtek/Microtek_A3_scanner_usb.inf @@ -3,8 +3,8 @@ Signature="$CHICAGO$" Class=Image ClassGUID={6bdd1fc6-810f-11d0-bec7-08002be2092f} Provider=%IPC% -DriverVer=01/04/2023,1.1.0.0 -CatalogFile=Microtek_A3HG_scanner_usb.cat +DriverVer=07/17/2023,4.1.0.0 +CatalogFile=Microtek_A3_scanner_usb.cat [SourceDisksNames] 1=%DisksName%,,, @@ -17,52 +17,28 @@ CopySetupFile=10 CopyUsbScan=11 DefaultDestDir=11 -[CopyUsbScan] -usbscan.sys,usbscan.sy_,,32 - -[CopySetupFile] - -[IPCProduct.AddReg.9x] - -[IPCProduct.AddReg] - -[IPCProduct_UsbScan.AddReg] -HKR,,DevLoader,,*NTKERN -HKR,,NTMPDriver,,"usbscan.sys" [Manufacturer] %IPC%=Models,NTx86.5.1,NTia64,NTAMD64 -[Models] -%IPCProduct%=IPCProduct,USB\VID_05DA&PID_9220 - [Models.NTx86.5.1] -%IPCProduct%=IPCProduct_NT51,USB\VID_05DA&PID_9220 +%USB\VID_05DA&PID_9220.DeviceDesc%=IPCProduct_NT51,USB\VID_05DA&PID_9220 +%USB\VID_05DA&PID_9222.DeviceDesc%=IPCProduct_NT51,USB\VID_05DA&PID_9222 +%USB\VID_05DA&PID_9223.DeviceDesc%=IPCProduct_NT51,USB\VID_05DA&PID_9223 + [Models.NTia64] -%IPCProduct%=IPCProduct_NTia64,USB\VID_05DA&PID_9220 +%USB\VID_05DA&PID_9220.DeviceDesc%=IPCProduct_NTia64,USB\VID_05DA&PID_9220 +%USB\VID_05DA&PID_9222.DeviceDesc%=IPCProduct_NTia64,USB\VID_05DA&PID_9222 +%USB\VID_05DA&PID_9223.DeviceDesc%=IPCProduct_NTia64,USB\VID_05DA&PID_9223 [Models.NTAMD64] -%IPCProduct%=IPCProduct_NTAMD64,USB\VID_05DA&PID_9220 - -[IPCProduct] -AddReg=IPCProduct.AddReg.9x,IPCProduct_UsbScan.AddReg -;Copyfiles=CopyUsbScan -Copyfiles=CopySetupFile,CopyUsbScan - -[IPCProduct.NT] -DriverVer=05/21/2009,3.0.0.0 -Include=sti.inf -Needs=STI.USBSection -AddReg=IPCProduct.AddReg,IPCProduct_UsbScan.AddReg -;Copyfiles=CopySetupFile - -[IPCProduct.NT.Services] -Include=sti.inf -Needs=STI.USBSection.Services +%USB\VID_05DA&PID_9220.DeviceDesc%=IPCProduct_NTAMD64,USB\VID_05DA&PID_9220 +%USB\VID_05DA&PID_9222.DeviceDesc%=IPCProduct_NTAMD64,USB\VID_05DA&PID_9222 +%USB\VID_05DA&PID_9223.DeviceDesc%=IPCProduct_NTAMD64,USB\VID_05DA&PID_9223 [IPCProduct_NT51] -DriverVer=05/21/2009,3.0.0.0 +DriverVer=07/21/2022,3.1.0.0 Include=sti.inf Needs=STI.USBSection,STI.MICRODRIVERSection SubClass=StillImage @@ -74,7 +50,7 @@ Capabilities=0x31 ICMProfiles="sRGB Color Space Profile.icm" [IPCProduct_NTia64] -DriverVer=05/21/2009,3.0.0.0 +DriverVer=07/21/2022,3.1.0.0 Include=sti.inf Needs=STI.USBSection,STI.MICRODRIVERSection SubClass=StillImage @@ -86,7 +62,7 @@ Capabilities=0x31 ICMProfiles="sRGB Color Space Profile.icm" [IPCProduct_NTAMD64] -DriverVer=05/21/2009,3.0.0.0 +DriverVer=07/21/2022,3.1.0.0 Include=sti.inf Needs=STI.USBSection,STI.MICRODRIVERSection SubClass=StillImage @@ -98,7 +74,6 @@ Capabilities=0x31 ICMProfiles="sRGB Color Space Profile.icm" -[WinXPCopyFile] [IPCProduct_NT51.Services] Include=sti.inf @@ -112,9 +87,7 @@ Needs=STI.USBSection.Services Include=sti.inf Needs=STI.USBSection.Services -[IPCProduct.NT.CoInstallers] -AddReg=CoInstaller_AddReg -CopyFiles=CoInstaller_CopyFiles + [IPCProduct_NT51.CoInstallers] AddReg=CoInstaller_AddReg @@ -135,13 +108,11 @@ CopyFiles=CoInstaller_CopyFiles [CoInstaller_AddReg] -[InstallInfo] -OriginalInfSourcePath = %1% - [Strings] -IPC="Microtek A3HG S/F Scanner" -IPCProduct="Microtek A3HG S/F Scanner" -ServiceName="Microtek A3HG S/F Scanner" -TwainDSName="Microtek A3HG S/F Scanner" +IPC="MICROTEK INTERNATIONAL, INC" RunOnce="Software\Microsoft\windows\CurrentVersion\RunOnce" DisksName="USB Scanner CD-ROM" + +USB\VID_05DA&PID_9220.DeviceDesc="Microtek A3HG S/F Scanner" +USB\VID_05DA&PID_9222.DeviceDesc="Microtek A3ES Scanner" +USB\VID_05DA&PID_9223.DeviceDesc="Microtek A3FZ Scanner" diff --git a/win/usb/microtek/microtek_a3_scanner_usb.cat b/win/usb/microtek/microtek_a3_scanner_usb.cat new file mode 100644 index 0000000000000000000000000000000000000000..54b315221225cf62e648d871229d045e6e1c9f49 GIT binary patch literal 9061 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