Hi dlowe,
I should have mentioned that the script runs under WinPE environment at the Post Install Phase (before sysprep). I assume you tried to run this script in windows, the script will have an error because it can not load the registry hive at %Windir%\System32\Config\Software. I've modified the script so you can run this under windows. 
' =========================================================================================================
' Script Name: InstallDrivers.vbs
' Version:     0.04
' Author :     dat2704
' ==========================================================================================================
' CHANGE LOG
' ==========================================================================================================
' Date       |     Version    | Change Description
' -----------|----------------|------------------------------------------------------------------------------
' 28/06/08 |      0.01       | Removed system model detection &  driver selection function
' 30/06/08 |      0.02       | Improve text insertion method
' 01/07/08 |      0.03       | fix bugs in FindDrivers function
' 02/07/08 |      0.04       | Script function: Automatically add driver paths to DevicePaths Registry Value
'===========================================================================================================
Option Explicit
'DECLARE GLOBAL VARIABLES & CONSTANTS
'====================================
Const wbemFlagReturnImmediately = &h10
Const wbemFlagForwardOnly = &h20
Const ForReading   = 1
Const ForWriting   = 2
Const ForAppending = 8
Const TristateTrue  = -1
Const TristateFalse = 0
Const TristateUseDefault = -2
Dim intExitCode
Dim strSystemDrive
Dim strCurrentPath
Dim strDriverPath
Dim str7zipCmd
Dim strSysprepPath
Dim intNoOfPathsPerLine
Dim strOldSysprepPath
' DECLARE AND CREATE OBJECTS
' ==========================
Dim objFSO
Dim objShell
Dim objEnv
Dim objRegExp
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objShell = CreateObject("WScript.Shell")
Set objEnv = objShell.Environment("PROCESS")
Set objRegExp = new regexp  
' PREPARE DRIVER INSTALLATION
' ============================
strSystemDrive = objShell.ExpandEnvironmentStrings("%SystemDrive%")
strCurrentPath = objFSO.GetParentFolderName(WScript.ScriptFullName)
strDriverPath  = strSystemDrive & "\D"
str7zipCmd     = """" & strCurrentPath & "\7za.exe"" x -y -aoa """ & strCurrentPath & "\*.7z" & """ -o""" & strSystemDrive & """"
strSysprepPath = strSystemDrive & "\Sysprep\sysprep.inf"
strOldSysprepPath = strSysprepPath & ".old"
intExitCode    = 0
objEnv("SEE_MASK_NOZONECHECKS") = 1
intNoOfPathsPerLine = 20
' EXTRACT THE DRIVE PACKS
' =======================
If Not (objFSO.FolderExists (strDriverPath)) Then
    objFSO.CreateFolder (strDriverPath)
End If
intExitCode = objShell.Run (str7zipCmd, 0, True)
If intExitCode <> 0 Then
    WScript.Quit 13
End If
' SCAN AND INDEX ALL DRIVER PATHS
' ===============================
Dim arrDriverPaths
arrDriverPaths = Array ()
FindDrivers (strDriverPath)
' ADD DEVICE PATHS TO SYSPREP
' ===========================
If objFSO.FileExists (strSysprepPath) Then
    
    ' Open and Read Sysprep.inf
    ' -------------------------
    Dim objSysprep, arrSysprep
    arrSysprep = Array ()
    Set objSysprep = objFSO.OpenTextFile (strSysprepPath, ForReading, False, TristateFalse)
    While Not objSysprep.AtEndOfStream
        arrSysprep = AddArrayRecord (arrSysprep, objSysprep.ReadLine)
    Wend
    objSysprep.Close
    
    ' Find the line number of [UNATTENDED]
    ' ------------------------------------
    Dim intUnattendedPosition, blnFoundUnattended, strLine
    intUnattendedPosition = 0
    blnFoundUnattended = False
    For Each strLine In arrSysprep
        If Not (StringMatch (strLine, "^\s*;.*$", True)) Then
            blnFoundUnattended = StringMatch (strLine, "^\s*\[Unattended\]\s*$", True)
            If blnFoundUnattended Then
                Exit For
            End If
        End If
        intUnattendedPosition = intUnattendedPosition + 1
    Next
    If Not blnFoundUnattended Then WScript.Quit 13
    
    ' Insert OemPnPDriversPath lines the correct way
    ' -------------------------------------------------------
    Dim arrTempContainer, strInsertLine, strPath, blnQueueCleared, i, j
    arrTempContainer = Array ()
    strInsertLine = "OemPnPDriversPath="
    i = 0
    j = 0
    For Each strLine In arrSysprep
        If i = intUnattendedPosition Then
            arrTempContainer = AddArrayRecord (arrTempContainer, strLine)            
            
            For Each strPath In arrDriverPaths
                If (j = intNoOfPathsPerLine) Or (Len (strPath) + Len (strInsertLine) >= 4096) Then
                    If (Right (strInsertLine, 1) = ";" ) Then
                        strInsertLine = left (strInsertLine, Len (strInsertLine)-1)
                    End If                
                    arrTempContainer = AddArrayRecord (arrTempContainer, strInsertLine)
                    strInsertLine = "OemPnPDriversPath=" & strPath & ";"
                    blnQueueCleared = True
                    j = 0
                Else
                    strInsertLine= strInsertLine & strPath & ";"
                    blnQueueCleared = False
                End If
                j = j + 1
            Next
            If Not blnQueueCleared Then
                If (Right (strInsertLine, 1) = ";" ) Then
                        strInsertLine = left (strInsertLine, Len (strInsertLine)-1)
                End If
                arrTempContainer = AddArrayRecord (arrTempContainer, strInsertLine)
            End If
        Else
            arrTempContainer = AddArrayRecord (arrTempContainer, strLine)
        End If
        i = i +1
    Next
    arrSysprep = arrTempContainer
    
    ' Write changes to Sysprep.inf
    ' ----------------------------
    objFSO.CopyFile strSysprepPath, strOldSysprepPath, True
    objFSO.DeleteFile strSysprepPath, True
    Set objSysprep = objFSO.OpenTextFile (strSysprepPath, ForWriting, True, TristateFalse)
    For Each strLine In arrSysprep
        objSysprep.WriteLine strLine
    Next
    objSysprep.Close
Else
    WScript.Quit 13
End If
' ADD DRIVER PATHS TO THE REGISTRY
' =================================
Dim strSoftwareHive, strDevicePathsValue, strDevicePathsData
' strSoftwareHive = strSystemDrive & "\Windows\System32\Config\Software"
strDevicePathsValue = "HKLM\Software\Microsoft\Windows\CurrentVersion\DevicePath"
'If objFSO.FileExists (strSoftwareHive) Then
'    intExitCode = objShell.Run ("REG.EXE LOAD HKLM\Temp """ & strSoftwareHive & """", 0, True)
'    If intExitCode = 0 Then
        strDevicePathsData = objShell.RegRead (strDevicePathsValue)
        If Not (strDevicePathsData = "") Then
            If Not (Right (strDevicePathsData, 1) = ";") Then
                strDevicePathsData = strDevicePathsData & ";"
            End If
        End If
        
        ' Translate Path into Environment Variables & join it all into a single string
        ' ----------------------------------------------------------------------------
        For Each strPath In arrDriverPaths
            Select Case strPath
            Case StringMatch (strPath, "^\S*?\\Windows\\.*?$", True)
                strPath = "%SYSTEMROOT%" & Right (strPath, Len (strPath) - 7) & ";"
            Case StringMatch (strPath, "^\S*?\\Program Files\\.*?$", True)
                strPath = "%PROGRAMFILES%" & Right (strPath, Len (strPath) - 13) & ";"
            Case Else
                strPath = "%SYSTEMDRIVE%\" & strPath & ";"
            End Select
            strDevicePathsData = strDevicePathsData & strPath            
        Next
                    
        If Right (strDevicePathsData, 1) = ";" Then
            strDevicePathsData = Left (strDevicePathsData, Len (strDevicePathsData) - 1)
        End If
        intExitCode = objShell.RegWrite (strDevicePathsValue, strDevicePathsData, "REG_EXPAND_SZ")
        ' intExitCode = objShell.Run ("REG.EXE UNLOAD HKLM\Temp", 0, True)        
'    End If
'Else
'    WScript.Quit 13
'End If
' PREPARE TO FINISH
' =================
objEnv.Remove("SEE_MASK_NOZONECHECKS")
WScript.Quit intExitCode
' CUSTOM FUNCTIONS
' ================
Function StringMatch (inString, MatchPattern, IgnoreCase)
    objRegExp.Global = True
    objRegExp.IgnoreCase = IgnoreCase
    objRegExp.Pattern = MatchPattern
    StringMatch = objRegExp.Test (inString)
End Function
Function AddArrayRecord (arrTempArray(), strValue)
    ReDim Preserve  arrTempArray (UBound(arrTempArray) + 1)
    arrTempArray (UBound(arrTempArray)) = RealTrim (strValue)
    AddArrayRecord = arrTempArray
End Function
Function FindDrivers(strFolder)
    Dim objFolder, objFile, objSubFolder, strFolderRelPath
    Set objFolder = objFSO.GetFolder(strFolder)
    
    For Each objFile in objFolder.Files
        If UCase(Right(objFile.Name, 3)) = "INF" Then
            strFolderRelPath = Right (objFolder.Path, Len (objFolder.Path) - 3)
            arrDriverPaths = AddArrayRecord (arrDriverPaths, strFolderRelPath)
            Exit For
        End If
    Next
    For Each objSubFolder in objFolder.SubFolders
        FindDrivers objSubFolder.Path
    Next
End Function
Function isWhiteSpace(charIn)
    Dim intValue
    intValue = Asc(charIn)
    isWhiteSpace = intValue = 9 Or intValue = 10 Or intValue = 13 Or intValue = 32
End Function
Function RealTrim(strIn)
    If Len(strIn) = 0 Then
        RealTrim = strIn
        Exit Function
    End If
    Dim intPos, strOut
    intPos = 1
    While isWhiteSpace(Mid(strIn, intPos, 1))
        intPos = intPos + 1
        If intPos > Len(strIn) Then
            RealTrim = ""
            Exit Function
        End If
    Wend
    strOut = Mid(strIn, intPos)
    intPos = Len(strOut)
    While isWhiteSpace(Mid(strOut, intPos, 1))
        intPos = intPos - 1
    Wend
    RealTrim = Left(strOut, intPos)
End Function