Deployment Solution

 View Only
  • 1.  Add drivers using pnputil.exe (unsigned ones)

    Posted Jul 26, 2010 07:29 AM
    Hello,

    I'm trying to use pnputil.exe for staging some drivers so the sysprep process can find them. I'm using DS 6.9 SP4 and I'm trying to deploy Windows 7 x86.

    I'm capturing and deploying using WinPe and ImageX. After applying the image, I copy the drivers directory (using conditions for the hardware) in my DS server to c:\drivers.

    Then, I have an specialize RunSynchronous command to install all the drivers below c:\drivers as suggested by someone in the forums:

    @ECHO OFF
    ECHO Instalando drivers ...
    FOR /R C:\Drivers\ %%G IN (*.inf) DO pnputil -i -a %%G

    The problem is that for unsigned drivers (for example, SoundMax ADI Integrated Digital Audio for Dell Optiplex GX620 for Vista 32, downloaded as R145551.exe file from Dell website) when you use the pnputil command or when you upgrade your drivers through device manager you get a warning message about trusting "Analog Devices Incorporated".

    The best would be to have a signed driver for my soundcard but I've not found anything better in Dell website. So I'm asking if is there some program, command line, trick, registry entry or anything to install these drivers without being prompted.

    I've also tried to mount the registry from the WinPE environment and change the "DevicePath" registry key to %SystemRoot%\inf;C:\drivers without success (Windows doesn't start normally I always get the safe mode screen menu).

    So, any idea would be very appreciated.

    Thanks.


  • 2.  RE: Add drivers using pnputil.exe (unsigned ones)
    Best Answer

    Posted Jul 26, 2010 09:04 AM
    Hello,

    Finally I've solved the problem of injecting drivers to the Driver Repository without the prompt.

    I've used PKGMGR as explained here: https://www-secure.symantec.com/connect/blogs/vista-driver-injection-unsigned-drivers

    BUT as I'm deploying Windows 7 I've needed to copy my Windows 7 AIK to the eXpress share and use the Windows 7 pkgmgr version instead of the Vista one that comes with DS 6.9.

    So my script is something like:

    - Apply ImageX
    - Copy drivers to c:\drivers (is possible to have them in a share)
    - Copy drivers.xml (generated by WSIM) to c:\drivers
    - Execute pkgmgr using the drivers.xml

    When Windows boots it uses the drivers without problems.

    ;-)



  • 3.  RE: Add drivers using pnputil.exe (unsigned ones)

    Posted Jul 26, 2010 12:49 PM
    I've been using DISM to handle my drivers.  It was a little tricky to get started but now that I've got it figured out, I wouldn't use anything else.  Here's some links:



    http://technet.microsoft.com/en-us/library/dd799258(WS.10).aspx

    http://technet.microsoft.com/en-us/magazine/dd490958.aspx

     




  • 4.  RE: Add drivers using pnputil.exe (unsigned ones)

    Posted Jul 27, 2010 04:05 AM

    Hi kubasa,

    In fact, when I use pkgmgr from WAIK7 ... it uses DISM because I see the full command in the log file I generate ...

    The DISM command is longer than the PKGMGR one ;-)

    I'll read your links asap.

    Only a question, I'm trying to use conditions to inject only the appropiate drivers for a specific hardware model. I would like to have all common scripts (create partitions, apply image using imagex, copying sysprep.xml, copying dagent, etc.) in the <default> condition and the drivers copy/injection in conditions to copy only the drivers in a specific directory. Is this possible?

    Another alternative could be to have a variable or something I can use in a script to identify the models and copy the drivers from a directory named like this model. In this case I can use only scripts in the <default> section. Well, I'm so new with DS that I don't know yet a lot about variables, tokens, etc. And I've not found any token list nowhere. I've seen scripts using something like this: %#!computer@model_num% but I don't know where to find all the variables we can use in scripts ...

    Thanks.



  • 5.  RE: Add drivers using pnputil.exe (unsigned ones)

    Posted Jul 27, 2010 04:24 AM
    I've found that computer@model_num means table dbo.computer and colum model_num ... so I suppose I can check some other colums like prod_name and match my Optiplex computers ;-)

    What about the ReplaceTokens commands? I'm using it to replace %COMPNAME% or %NAME% but only because I've seen these variables in some samples ... I din't found any list of variables we can replace ...

    Thanks.


  • 6.  RE: Add drivers using pnputil.exe (unsigned ones)

    Posted Jul 27, 2010 10:47 AM

    I will look through my notes because I thought at one time I had found a document that contained all of the variables.  This was quite a while ago and I might be confusing this issue with another situation.   As for conditions, I believe that if you set a condition it will complete all jobs related to that condition.  I guess I copy and paste my default jobs and scripts between conditions and then I add whatever specific jobs that are related to each job.  If there's another way, I'd love to know how to do it myself too.  Anyway, I  will see if I can find that variable list.


  • 7.  RE: Add drivers using pnputil.exe (unsigned ones)

    Posted Jul 27, 2010 01:42 PM
    I found the list that I had.  You can reference it here:

    https://kb.altiris.com/display/1n/articleDirect/index.asp?aid=27468&r=0.3856012

    The article is 27468 if the link doesn't take you right there.  Hopefully this will help.