Changeset 107973 in vbox for trunk/src/VBox/GuestHost
- Timestamp:
- Jan 29, 2025 9:30:26 AM (3 months ago)
- svn:sync-xref-src-repo-rev:
- 167232
- Location:
- trunk/src/VBox/GuestHost/installation
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/GuestHost/installation/VBoxDrvInst.cpp
r107766 r107973 437 437 uint64_t uOsVer = 0; 438 438 439 /* By default we want to force an installation and be silent. */ 440 uint32_t fInstall = VBOX_WIN_DRIVERINSTALL_F_SILENT | VBOX_WIN_DRIVERINSTALL_F_FORCE; 439 /* By default we want to force an installation. 440 * 441 * However, we do *not* want the installation to be silent by default, 442 * as this this will result in an ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED error 443 * if drivers get installed with our mixed SHA1 / SH256 certificates on older 444 * Windows guest (7, Vista, ++). 445 * 446 * So if the VBOX_WIN_DRIVERINSTALL_F_SILENT is missing, this will result in a 447 * (desired) Windows driver installation dialog to confirm (or reject) the installation 448 * by the user. 449 * 450 * On the other hand, for unattended installs we need VBOX_WIN_DRIVERINSTALL_F_SILENT 451 * being set, as our certificates will get installed into the Windows certificate 452 * store *before* we perform any driver installation. 453 */ 454 uint32_t fInstall = VBOX_WIN_DRIVERINSTALL_F_FORCE; 441 455 442 456 /* Whether to ignore reboot messages or not. This will also affect the returned exit code. */ -
trunk/src/VBox/GuestHost/installation/VBoxWinDrvInst.cpp
r107935 r107973 1310 1310 /* For anything else we want to get notified that something isn't working. */ 1311 1311 if (!fRc) 1312 rc = vboxWinDrvInstLogLastError(pCtx, "DiInstallDriverW() failed"); 1312 { 1313 switch (dwErr) 1314 { 1315 case ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED: 1316 { 1317 /* For silent installs give a clue why this might have failed. */ 1318 if (pParms->fFlags & VBOX_WIN_DRIVERINSTALL_F_SILENT) 1319 vboxWinDrvInstLogWarn(pCtx, "Silent installation was selected, but required certificates " 1320 "were not pre-installed into the Windows drvier store, so " 1321 "the installation will be rejected automatically"); 1322 RT_FALL_THROUGH(); 1323 } 1324 1325 default: 1326 rc = vboxWinDrvInstLogLastError(pCtx, "DiInstallDriverW() failed"); 1327 break; 1328 } 1329 } 1313 1330 } 1314 1331 … … 1360 1377 vboxWinDrvInstLogWarn(pCtx, "Not able to select a driver from the given INF, using given model"); 1361 1378 break; 1379 } 1380 1381 case ERROR_AUTHENTICODE_TRUST_NOT_ESTABLISHED: 1382 { 1383 /* For silent installs give a clue why this might have failed. */ 1384 if (pParms->fFlags & VBOX_WIN_DRIVERINSTALL_F_SILENT) 1385 vboxWinDrvInstLogWarn(pCtx, "Silent installation was selected, but required certificates " 1386 "were not pre-installed into the Windows drvier store, so " 1387 "the installation will be rejected automatically"); 1388 RT_FALL_THROUGH(); 1362 1389 } 1363 1390
Note:
See TracChangeset
for help on using the changeset viewer.