VirtualBox

Changeset 108085 in vbox for trunk/src


Ignore:
Timestamp:
Feb 5, 2025 6:05:14 PM (3 months ago)
Author:
vboxsync
svn:sync-xref-src-repo-rev:
167379
Message:

Windows driver installation: Added installer shim detection by comparing the OS versions found by the API vs. the one found in the registry. Use the one in the registry by default if they differ -- ignore the build version, log an info instead of warning. bugref:10762

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/GuestHost/installation/VBoxWinDrvInst.cpp

    r108081 r108085  
    19861986                     * version which is being reported via API calls. So compare the both OS versions
    19871987                     * and prefer the one being reported via the registry if they don't match.
     1988                     * Ignore the build number (too specific).
    19881989                     *
    19891990                     * The OS version to use still can be later tweaked using VBoxWinDrvInstSetOsVersion(). */
    1990                     if (   (pCtx->uOsVer != uRegOsVer)
    1991                         && RTSYSTEM_NT_VERSION_GET_MAJOR(uRegOsVer) > 4 /* XP+ */)
     1991                    if (   (   RTSYSTEM_NT_VERSION_GET_MAJOR(pCtx->uOsVer) != RTSYSTEM_NT_VERSION_GET_MAJOR(uRegOsVer)
     1992                            || RTSYSTEM_NT_VERSION_GET_MINOR(pCtx->uOsVer) != RTSYSTEM_NT_VERSION_GET_MINOR(uRegOsVer))
     1993                        && RTSYSTEM_NT_VERSION_GET_MAJOR(uRegOsVer) > 4 /* Only XP+ */)
    19921994                    {
    1993                         vboxWinDrvInstLogWarn(pCtx, "Detected Windows version (%u.%u) does not match the one stored in the registry (%u.%u)",
     1995                        vboxWinDrvInstLogInfo(pCtx, "Detected Windows version (%u.%u) does not match the one stored in the registry (%u.%u)",
    19941996                                              RTSYSTEM_NT_VERSION_GET_MAJOR(pCtx->uOsVer),
    19951997                                              RTSYSTEM_NT_VERSION_GET_MINOR(pCtx->uOsVer),
    19961998                                              RTSYSTEM_NT_VERSION_GET_MAJOR(uRegOsVer),
    19971999                                              RTSYSTEM_NT_VERSION_GET_MINOR(uRegOsVer));
     2000                        vboxWinDrvInstLogInfo(pCtx, "This might be due a compatibility layer or MSI installer engine shimming the Windows version");
    19982001
    19992002                        /* Override the OS version from the API with the one found in the registry. */
Note: See TracChangeset for help on using the changeset viewer.

© 2025 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette