Thread: install raid controller driver with rundll32 from inf file

  1. #1
    Registered User
    Join Date
    Jul 2012
    Posts
    23

    install raid controller driver with rundll32 from inf file

    I recently bought a raid controller card and set up a 3 disk raid5 raid.
    Before that, I made a clone image of my windows partition. Once the raid was set up I copied the image to my new raid drive.

    Everything went well, except that now windows7 refuses to boot, throwing me an exception error in a quick flashy blue screen of death. Silly me I forgot about installing the raid drivers before doing the OS image. Well too late now.

    Using the windows 7 installation disk I can boot into a recovery console (not before loading the raid drivers, so the install setup can access the installed OS) I believe it should be possible to install the raid controller driver from there, using rundll32.

    Using the web I found solutions like
    Code:
     RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 132 path-to-inf\infname.inf"
    but that and similar commands, give me an "installation failed" error.
    Which I believe might be related to the use of the InstallHinfSection function and or defaultInstall, a section which my .inf file lacks.

    The driver comes with the .inf file, a .cat file with the driver signatures and a .sys file.

    here's the contents of the inf.
    Code:
    ;  
    ; 2310_00.INF 
    ;  
     
    [Version] 
    signature="$Windows NT$" 
    Class=SCSIAdapter 
    ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318} 
    Provider=%HIGHPOINT% 
    CatalogFile= 2310_00.CAT 
    DriverVer=06/11/2009, 2.3.9.611 
     
    [DestinationDirs] 
    DefaultDestDir  = 12 ; DIRID_DRIVERS 
     
    [ControlFlags] 
    ; ExcludeFromSelect = * 
     
    [Manufacturer] 
    %HIGHPOINT%=HighPoint, NTamd64 
     
    [HighPoint.NTamd64] 
    %RR2310.DeviceDesc%=hptmvPCI,PCI\VEN_1103&DEV_2310 
    %RR2300.DeviceDesc%=hptmvPCI,PCI\VEN_1103&DEV_2300 
    %RR2310.DeviceDesc%=hptmvPCI,PCI\VEN_11AB&DEV_7042 
    %SCSI\ProcessorHPT_____RCM_DEVICE______.DeviceDesc% = NODRV, SCSI\ProcessorHPT_____RCM_DEVICE______ 
     
    [NODRV] 
    AddReg=NODRV_AddReg 
     
    [NODRV.Services] 
    AddService = , %SPSVCINST_ASSOCSERVICE%   ; null service install 
     
    [hptmvPCI.NTamd64] 
    CopyFiles=@2310_00.sys 
    ;[email protected] 
    Reboot 
     
    [hptmvPCI.NTamd64.Services] 
    AddService = 2310_00, %SPSVCINST_ASSOCSERVICE%, hptmvPCI_Service_Inst, Miniport_EventLog_Inst 
    ;AddService = hptpro,,Hptpro_Service_Inst 
     
    [hptmvPCI_Service_Inst] 
    ServiceType    = %SERVICE_KERNEL_DRIVER% 
    StartType      = %SERVICE_BOOT_START% 
    ErrorControl   = %SERVICE_ERROR_NORMAL% 
    ServiceBinary  = %12%\2310_00.sys 
    LoadOrderGroup = SCSI Miniport 
    AddReg         = pnpsafe_pci_addreg 
     
    [Hptpro_Service_Inst] 
    ServiceType    = 1 
    StartType      = 0 
    ErrorControl   = 1 
    ;ServiceBinary  = %12%\hptpro.sys 
    LoadOrderGroup = Filter 
     
    [pnpsafe_pci_addreg] 
    HKR, "Parameters\PnpInterface", "5", 0x00010001, 0x00000001 
    HKR, "Parameters\Device", "NumberOfRequests", 0x00010001, 0x3c 
     
    [Miniport_EventLog_Inst] 
    AddReg = Miniport_EventLog_AddReg 
     
    [Miniport_EventLog_AddReg] 
    HKR,,EventMessageFile,%REG_EXPAND_SZ%,"%%SystemRoot%%\System32\IoLogMsg.dll" 
    HKR,,TypesSupported,%REG_DWORD%,7 
     
    [SourceDisksNames] 
    1 = %InstallDisk%,,,, 
     
    [SourceDisksFiles] 
    ;;2310_00.inf = 1,, 
    2310_00.sys = 1,, 
     
     
    [NODRV_AddReg] 
    ;Dummy AddReg section  
     
    [strings] 
    HighPoint="HighPoint" 
    RR2310.DeviceDesc="RocketRAID 231x SATA Controller" 
    RR2300.DeviceDesc="RocketRAID 230x SATA Controller" 
    SCSI\ProcessorHPT_____RCM_DEVICE______.DeviceDesc = "HighPoint RCM Device" 
    InstallDisk = "RocketRAID 231x/230x SATA Controller Driver Diskette" 
     
    ;******************************************* 
    ;Handy macro substitutions (non-localizable) 
    SPSVCINST_ASSOCSERVICE = 0x00000002 
    SERVICE_KERNEL_DRIVER  = 1 
    SERVICE_BOOT_START     = 0 
    SERVICE_ERROR_NORMAL   = 1 
    REG_EXPAND_SZ          = 0x00020000 
    REG_DWORD              = 0x00010001
    I tried in vain manually copying the .sys file to system32/drivers/ and editing the registry with an external editor but I don't understand all the registry strings the inf is trying to add.

    Is it possible to successfully install the driver under these circumstances ? I'm open to try any method, I just want to avoid having to reinstall windows.

    Thanks.

  2. #2
    Registered User
    Join Date
    Jul 2012
    Posts
    23
    Never mind. I ended up separating one of the drives from the array, restoring the OS image into the drive and booting into windows to install the raid controller drivers. After which I made a new OS image, rejoined the drive to the array and copied over the new OS image (with the raid drivers).
    A fool's solution but it was quicker and less frustrating than perusing the obscure windows library documentation.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. hi how to check my serial port is intrupt driver or poll driver?
    By nkrao123@gmail. in forum Networking/Device Communication
    Replies: 5
    Last Post: 09-19-2011, 11:20 PM
  2. [C++] USB gadget driver, unbound kernel driver?
    By Jelte in forum C++ Programming
    Replies: 0
    Last Post: 01-13-2010, 08:53 AM
  3. print driver that prints to a PDF file
    By planet_abhi in forum C# Programming
    Replies: 2
    Last Post: 11-11-2005, 12:53 AM
  4. Batch file to install a driver
    By xErath in forum A Brief History of Cprogramming.com
    Replies: 4
    Last Post: 11-13-2004, 08:36 AM
  5. Replies: 4
    Last Post: 06-30-2004, 03:11 PM