Jump to content

Integrating VirtualBox Guest Additions drivers into XP..?


spinjector

Recommended Posts

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
Link to comment
Share on other sites


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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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:

Link to comment
Share on other sites

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".

Link to comment
Share on other sites

  • 2 years later...

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.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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