Jump to content

Integrating VirtualBox Guest Additions drivers into XP..?


Recommended Posts

Posted (edited)

This is a hard topic to search for, since so many people in this forum use vBox.

Has anyone ever successfully integrated the VirtualBox Guest Additions drivers into a Windows XP setup?

If one examines the GuestAdditions.iso file that hides in the vBox folders under \Program Files, it appears to be all normal drivers with INF files.

I tried doing it once, but it didn't work completely, and I didn't follow up to see if anyone else had tried.

Thanks.

Edited by spinjector

Posted

This was something I bodged a while ago, might still work, might not...

Option Explicit
Dim ws, strCmd, strComputer, objWMIService, colBIOS, colPC, objPC
Set ws = WScript.CreateObject("WScript.Shell")
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colPC = objWMIService.ExecQuery("Select * from Win32_ComputerSystem")
For Each objPC In colPC
If Not IsNull(objPC.Model) Then
If Left(objPC.Model,10) = "VirtualBox" Then
strCmd = "VBoxWindowsAdditions-x86.exe /S"
ws.Run(strCmd),0,True
strCmd = "netsh interface ip set address name=" & chr(34) & "Local Area Connection" & chr(34) & " static 192.168.1.20 255.255.255.0"
ws.Run(strCmd),0,True
End If
End If
Next

Posted

This looks great, uid0. When I read the post some 12 hours ago, I was going to suggest a silent install of one of the .exe files, but I didn't because I saw "Integrate" in the title and the mentioning of adding of .inf files to nLite (or I have misunderstood).

Cheers

Posted

This was something I bodged a while ago, might still work, might not...

Option Explicit
Etc.
Etc.
Etc.

Ok I love VBS, but adding it to nLite is something I've never done before.

Would I save that as a VBS file, and then add it to the Run Once tab?

Or should it be a post-setup command? But now that I think about it, I don't recall seeing that option in nLite. :huh:

Posted

I had it called from runonceex, but I'm afraid I haven't used nlite or virtualbox for years.

I'd test whether the /S switch still works first.

Posted

I'd test whether the /S switch still works first.

Yup. I've been experimenting with /S and some of the other switches and they all seem to work.

Now that I know /S works, I might be able to add it to the install once I run the nLighted XP through HFSLIP. It has a folder for "/S installers".

  • 2 years later...
Posted

I have managed to integrate drivers for VirtualBox 1.5.6 directly into Windows source.

You just need to gather the following files:

VBoxControl.exe
VBoxDisp.dll
VBoxGuest.inf
VBoxGuest.sys
VBoxMouse.sys
VBoxMRXNP.dll
VBoxService.exe
VBoxSF.sys
VBoxVideo.inf
VBoxVideo.sys

The two INF files have been modified as following:

1. VBoxGuest.inf (settings for VBox Mouse and Shared Folders have been added)

[Version]
Signature="$WINDOWS NT$"
Class=System
ClassGuid={4D36E97D-E325-11CE-BFC1-08002BE10318}
Provider="innotek GmbH"
DriverVer=08/21/2006,5.00.2072

[DestinationDirs]
DefaultDestDir = 12 ; drivers
VBoxService_CopyFiles = 11 ; system32

[Manufacturer]
"innotek GmbH" = VBoxGuest

[VBoxGuest]
"VirtualBox Device"=VBoxGuest_Install,PCI\VEN_80ee&DEV_cafe

[VBoxGuest_Install]
CopyFiles = VBoxGuest_CopyFiles, VBoxService_CopyFiles
AddReg = VBoxService_Add_Reg

[VBoxGuest_CopyFiles]
VBoxGuest.sys
;Mouse
VBoxMouse.sys
;SF
VBoxSF.sys

[VBoxService_CopyFiles]
VBoxService.exe
VBoxControl.exe
;SF
VBoxMRXNP.dll

[VBoxGuest_Install.Services]
AddService = VBoxGuest, 0x00000002, VBoxGuest_ServiceInstallSection
DelService = VBoxService, 0x00000004
;Mouse
AddService = VBoxMouse, , VBoxMouse_Service_Inst
;SF
AddService = VBoxSF, , VBoxSF_Service_Inst

[VBoxGuest_ServiceInstallSection]
DisplayName = "VirtualBox Guest Driver"
ServiceType = 0x00000001 ; kernel driver
StartType = 0x00000003 ; demand start
ErrorControl = 0x00000001 ; normal error handling
ServiceBinary = %12%\VBoxGuest.sys

[VBoxService_Add_Reg]
HKLM, SOFTWARE\Microsoft\Windows\CurrentVersion\Run, VBoxService, 0x00000000, %11%\VBoxService.exe
;Mouse
HKLM, System\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}, UpperFilters, 0x00010000, "VBoxMouse", "mouclass"
;SF
HKLM,"SYSTEM\CurrentControlSet\Services\VBoxSF\NetworkProvider","DeviceName",,"\Device\VBoxMiniRdr"
HKLM,"SYSTEM\CurrentControlSet\Services\VBoxSF\NetworkProvider","Name",,"VirtualBox Shared Folders"
HKLM,"SYSTEM\CurrentControlSet\Services\VBoxSF\NetworkProvider","ProviderPath",0x20000,"%SystemRoot%\system32\VBoxMRXNP.dll"
HKLM,"SYSTEM\CurrentControlSet\Control\NetworkProvider\Order","ProviderOrder",,"LanmanWorkstation,VBoxSF"

[VBoxMouse_Service_Inst]
DisplayName = "VirtualBox Guest Mouse Service"
ServiceType = 1
StartType = 3
ErrorControl = 0
ServiceBinary = %12%\VBoxMouse.sys

[VBoxSF_Service_Inst]
DisplayName = "VirtualBox Shared Folders"
ServiceType = 2
StartType = 1
ErrorControl = 1
LoadOrderGroup = Network
ServiceBinary = %12%\VBoxSF.sys

2. VBoxVideo.inf

[Version]
Signature="$WINDOWS NT$"
Provider="innotek GmbH"
ClassGUID={4D36E968-E325-11CE-BFC1-08002BE10318}
Class=Display
DriverVer = 05/17/2007,1.04.0000

[DestinationDirs]
DefaultDestDir=11
VBoxVideo.Miniport = 12 ; drivers
VBoxVideo.Display = 11 ; system32

[Manufacturer]
"innotek GmbH"=Model

[Model]
"VirtualBox Graphics Adapter" = VBoxVideo, PCI\VEN_80EE&DEV_BEEF

[VBoxVideo]
CopyFiles=VBoxVideo.Miniport, VBoxVideo.Display

[VBoxVideo.Miniport]
VBoxVideo.sys

[VBoxVideo.Display]
VBoxDisp.dll

[VBoxVideo.Services]
AddService=vboxvideo, 0x00000002, vboxvideo_Service_Inst, vboxvideo_EventLog_Inst

[vboxvideo_Service_Inst]
ServiceType=1 ; SERVICE_KERNEL_DRIVER
StartType=1 ; SERVICE_SYSTEM_START
ErrorControl=0 ; SERVICE_ERROR_IGNORE
LoadOrderGroup=Video
ServiceBinary=%12%\VBoxVideo.sys

[vboxvideo_EventLog_Inst]
AddReg = vboxvideo_EventLog_AddReg

[vboxvideo_EventLog_AddReg]
HKR,,EventMessageFile,0x00020000,"%SystemRoot%\System32\IoLogMsg.dll;%SystemRoot%\System32\drivers\VBoxVideo.sys"
HKR,,TypesSupported,0x00010001,7

[VBoxVideo.SoftwareSettings]
AddReg = vboxvideo_SoftwareDeviceSettings

[vboxvideo_SoftwareDeviceSettings]
HKR,, InstalledDisplayDrivers, 0x00010000, VBoxDisp
; Set 'Full' hardware acceleration up. On W2003 the level is by default None=5, leading to software mouse cursor
HKR,, Acceleration.Level, 0x00010001, 0
HKR,, VgaCompatible, 0x00010001, 0

I can't test newer versions of VirtualBox now because they don't work in Windows 2000 but I've checked their drivers and there seem to be only minor differences between the two so you can just modify them in exactly the same way. Such modified drivers should be integrated easily even with nLite.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...