|
| 1 | +@echo off |
| 2 | +REM --------------------------------------------------------------- |
| 3 | +REM Generate .cat catalog for signed VDD driver |
| 4 | +REM |
| 5 | +REM Run this AFTER signing quickdesk_display.dll with your EV cert. |
| 6 | +REM The generated .cat must then also be signed with the same cert. |
| 7 | +REM |
| 8 | +REM Usage: gen_vdd_cat.bat [prebuilt dir] |
| 9 | +REM Default dir: quickdesk-virtual-display\prebuilt\x64 |
| 10 | +REM |
| 11 | +REM Requires: WDK (inf2cat.exe) |
| 12 | +REM --------------------------------------------------------------- |
| 13 | + |
| 14 | +echo= |
| 15 | +echo --------------------------------------------------------------- |
| 16 | +echo Generate VDD Catalog (.cat) |
| 17 | +echo --------------------------------------------------------------- |
| 18 | + |
| 19 | +set script_path=%~dp0 |
| 20 | +set driver_dir=%~1 |
| 21 | +if "%driver_dir%"=="" set driver_dir=%script_path%..\quickdesk-virtual-display\prebuilt\x64 |
| 22 | + |
| 23 | +echo [*] driver dir: %driver_dir% |
| 24 | + |
| 25 | +:: check required files exist |
| 26 | +if not exist "%driver_dir%\quickdesk_display.dll" ( |
| 27 | + echo [!] error: quickdesk_display.dll not found in %driver_dir% |
| 28 | + exit /b 1 |
| 29 | +) |
| 30 | +if not exist "%driver_dir%\quickdesk_display.inf" ( |
| 31 | + echo [!] error: quickdesk_display.inf not found in %driver_dir% |
| 32 | + exit /b 1 |
| 33 | +) |
| 34 | + |
| 35 | +:: find inf2cat.exe |
| 36 | +set INF2CAT= |
| 37 | +for /f "delims=" %%i in ('where inf2cat.exe 2^>nul') do set INF2CAT=%%i |
| 38 | +if "%INF2CAT%"=="" ( |
| 39 | + if exist "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\inf2cat.exe" ( |
| 40 | + set "INF2CAT=C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x86\inf2cat.exe" |
| 41 | + ) |
| 42 | +) |
| 43 | +if "%INF2CAT%"=="" ( |
| 44 | + echo [!] error: inf2cat.exe not found. Install WDK first. |
| 45 | + exit /b 1 |
| 46 | +) |
| 47 | +echo [*] inf2cat: %INF2CAT% |
| 48 | + |
| 49 | +:: delete old .cat |
| 50 | +if exist "%driver_dir%\quickdesk_display.cat" ( |
| 51 | + del /q "%driver_dir%\quickdesk_display.cat" |
| 52 | + echo [*] removed old .cat |
| 53 | +) |
| 54 | + |
| 55 | +:: generate catalog |
| 56 | +echo [*] generating catalog... |
| 57 | +"%INF2CAT%" /os:10_x64 /driver:"%driver_dir%" |
| 58 | +if %errorlevel% neq 0 ( |
| 59 | + echo [!] inf2cat failed with error %errorlevel% |
| 60 | + exit /b 1 |
| 61 | +) |
| 62 | + |
| 63 | +if exist "%driver_dir%\quickdesk_display.cat" ( |
| 64 | + echo [*] catalog generated: %driver_dir%\quickdesk_display.cat |
| 65 | + echo= |
| 66 | + echo [!] IMPORTANT: Now sign the .cat with your EV certificate: |
| 67 | + echo signtool sign /fd sha256 /tr http://timestamp.digicert.com /td sha256 /sha1 ^<thumbprint^> "%driver_dir%\quickdesk_display.cat" |
| 68 | +) else ( |
| 69 | + echo [!] error: .cat file was not generated |
| 70 | + exit /b 1 |
| 71 | +) |
0 commit comments