VirtualBox

Changeset 84433 in vbox


Ignore:
Timestamp:
May 21, 2020 1:48:09 PM (5 years ago)
Author:
vboxsync
Message:

GA/Installer/WinNT: Do not touch original d3d9.dll if XPDM driver type is not supported, bugref:9725

Location:
trunk/src/VBox/Additions/WINNT/Installer
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditions.nsi

    r82968 r84433  
    223223Var g_bLogEnable                        ; Do logging when installing? "true" or "false"
    224224Var g_bCapDllCache                      ; Capability: Does the (Windows) guest have have a DLL cache which needs to be taken care of?
     225Var g_bCapXPDM                          ; Capability: Is the guest able to handle/use our XPDM driver?
    225226Var g_bCapWDDM                          ; Capability: Is the guest able to handle/use our WDDM driver?
    226227
     
    945946  StrCpy $g_bWithWDDM "false"
    946947  StrCpy $g_bCapDllCache "false"
     948  StrCpy $g_bCapXPDM "false"
    947949  StrCpy $g_bCapWDDM "false"
    948950  StrCpy $g_bPostInstallStatus "false"
  • trunk/src/VBox/Additions/WINNT/Installer/VBoxGuestAdditionsCommon.nsh

    r84065 r84433  
    434434!insertmacro AbortShutdown "un."
    435435
    436 !macro CheckForWDDMCapability un
    437 Function ${un}CheckForWDDMCapability
     436!macro CheckForCapabilities un
     437Function ${un}CheckForCapabilities
     438
     439  Push $0
     440
     441  ; Retrieve system mode and store result in
     442  System::Call 'user32::GetSystemMetrics(i ${SM_CLEANBOOT}) i .r0'
     443  StrCpy $g_iSystemMode $0
     444
     445  ; Does the guest have a DLL cache?
     446  ${If}   $g_strWinVersion == "NT4"
     447  ${OrIf} $g_strWinVersion == "2000"
     448  ${OrIf} $g_strWinVersion == "XP"
     449    StrCpy $g_bCapDllCache "true"
     450    ${LogVerbose}  "OS has a DLL cache"
     451  ${EndIf}
     452
     453  ${If}   $g_strWinVersion == "2000"
     454  ${OrIf} $g_strWinVersion == "XP"
     455  ${OrIf} $g_strWinVersion == "2003"
     456  ${OrIf} $g_strWinVersion == "Vista"
     457  ${OrIf} $g_strWinVersion == "7"
     458    StrCpy $g_bCapXPDM "true"
     459    ${LogVerbose} "OS is XPDM driver capable"
     460  ${EndIf}
    438461
    439462!if $%VBOX_WITH_WDDM% == "1"
     
    449472  ${EndIf}
    450473!endif
    451 
    452 FunctionEnd
    453 !macroend
    454 !insertmacro CheckForWDDMCapability ""
    455 !insertmacro CheckForWDDMCapability "un."
    456 
    457 !macro CheckForCapabilities un
    458 Function ${un}CheckForCapabilities
    459 
    460   Push $0
    461 
    462   ; Retrieve system mode and store result in
    463   System::Call 'user32::GetSystemMetrics(i ${SM_CLEANBOOT}) i .r0'
    464   StrCpy $g_iSystemMode $0
    465 
    466   ; Does the guest have a DLL cache?
    467   ${If}   $g_strWinVersion == "NT4"
    468   ${OrIf} $g_strWinVersion == "2000"
    469   ${OrIf} $g_strWinVersion == "XP"
    470     StrCpy $g_bCapDllCache "true"
    471     ${LogVerbose}  "OS has a DLL cache"
    472   ${EndIf}
    473 
    474   ; Check whether this OS is capable of handling WDDM drivers
    475   Call ${un}CheckForWDDMCapability
    476474
    477475  Pop $0
     
    862860!macro RestoreFilesDirect3D un
    863861Function ${un}RestoreFilesDirect3D
     862  ${If}  $g_bCapXPDM != "true"
     863      ${LogVerbose} "RestoreFilesDirect3D: XPDM is not supported"
     864      Return
     865  ${EndIf}
    864866
    865867  Push $0
Note: See TracChangeset for help on using the changeset viewer.

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