Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account


Photo

DISM - Issues with injecting Drivers into WIM image


  • Please log in to reply
7 replies to this topic

#1
plawlorx

plawlorx
  • Member
  • 3 posts
  • OS:XP Pro x86
Hi,

Been trying to create a single image for multiple types of machines for donkey years! for Windows 7 with sysprep.
But just figuring out what I need to do! - since not able to add drivers to sysprep anymore like you can do with windows xp sysprep.

Because I am using Ghost, for the actual managing the images and stuff for over 500 computers... I can't rely ghost on doing the drivers anymore with Windows 7.

So I found a way to do this.
Install everything that's required, run sysprep /generalize /oobe
boot winpe, and imagex to create the WIM image.

then use dism to mount wim image and add drivers to the image.
then apply the image to the computer, then get ghost to take the image of the computer, and then do sysprep via ghost...
but by this, drivers are available in the image by default. as they get injected into the windir/inf directory, etc. Great!

But, the graphics card isn't getting installed, which previously injected all the drivers all success.
so then I downloaded the latest nvidia drivers today, then got dism to inject them then I receive errors for all the .inf files.

C:\Program Files\Windows AIK\Tools\PETools>dism /image:E:\offline /add-driver /d
river:G:\Ghost\drivers\nvidia /recurse

Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7600.16385

Searching for driver packages to install...
Found 18 driver package(s) to install.
Installing 1 of 18 - G:\Ghost\drivers\nvidia\Display.Driver\nv_dispi.inf: Error
- An error occurred. The driver package could not be installed.
For more information, check for log files in the <windir>\inf folder of the targ
et image.
Installing 2 of 18 - G:\Ghost\drivers\nvidia\Display.Driver\nvae.inf: Error - An
error occurred. The driver package could not be installed.
For more information, check for log files in the <windir>\inf folder of the targ
et image.
Installing 3 of 18 - G:\Ghost\drivers\nvidia\Display.Driver\nvak.inf: Error - An
error occurred. The driver package could not be installed.
For more information, check for log files in the <windir>\inf folder of the targ
et image.
Installing 4 of 18 - G:\Ghost\drivers\nvidia\Display.Driver\NVDD.inf: Error - An
error occurred. The driver package could not be installed.
For more information, check for log files in the <windir>\inf folder of the targ
et image.


this is from the offline image/windir/inf/setupapi.offline.log
at the end contains:

flq: {_commit_file_queue}
flq: CommitQ DelNodes=0 RenNodes=0 CopyNodes=48
flq: {_commit_copy_subqueue}
flq: subqueue count=48
flq: source media:
flq: SourcePath - [G:\Ghost\drivers\nvidia\Display.Driver]
flq: SourceFile - [nvinit.dll]
flq: Flags - 0x00000000
flq: {_commit_copyfile}
!!! flq: Error installing file (0x0000001e)
!!! flq: Error 30: The system cannot read from the specified device.
! flq: SourceFile - 'G:\Ghost\drivers\nvidia\Display.Driver\nvinit.dl_'
flq: TempFile - 'E:\offline\Windows\System32\DriverStore\FileRepository\nvvid.inf_amd64_neutral_9a6249646254fd72\SET858B.tmp'
! flq: TargetFile - 'E:\offline\Windows\System32\DriverStore\FileRepository\nvvid.inf_amd64_neutral_9a6249646254fd72\nvinit.dll'
flq: {SPFQNOTIFY_COPYERROR}
!!! sto: Failed to copy file 'G:\Ghost\drivers\nvidia\Display.Driver\nvinit.dl_' to 'E:\offline\Windows\System32\DriverStore\FileRepository\nvvid.inf_amd64_neutral_9a6249646254fd72\nvinit.dll'. Error = 0x0000001E
flq: {SPFQNOTIFY_COPYERROR - returned 0x00000000}
!!! flq: SPFQNOTIFY_COPYERROR: returned SPFQOPERATION_ABORT.
!!! flq: Error 995: The I/O operation has been aborted because of either a thread exit or an application request.
flq: {_commit_copyfile exit(0x000003e3)}
flq: {_commit_copy_subqueue exit(0x000003e3)}
!!! flq: FileQueueCommit aborting!
!!! flq: Error 995: The I/O operation has been aborted because of either a thread exit or an application request.
flq: {_commit_file_queue exit(0x000003e3)}
!!! sto: Failed to copy driver package to 'E:\offline\Windows\System32\DriverStore\FileRepository\nvvid.inf_amd64_neutral_9a6249646254fd72'. Error = 0x0000001E
!!! sto: Failed to import driver package into Driver Store. Error = 0x0000001E
<<< Section end 2013/02/15 14:06:16.117
<<< [Exit status: FAILURE(0x0000001e)]


I am completely new to this, and need some help with it.
could anyone give me pointers? or how to resolve this...

thanks
Pete


How to remove advertisement from MSFN

#2
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,750 posts
  • OS:Server 2012
  • Country: Country Flag

Donator

Sometimes Sysprep or the /Generalize switch reverts the video driver. I run into this occasionally with different chipsets and have not found a solution.
MSFN RULES | GimageX HTA for PE 3-5 | lol probloms
msfn2_zpsc37c7153.jpg

#3
plawlorx

plawlorx
  • Member
  • 3 posts
  • OS:XP Pro x86
Shame but I am still going forward for this.

#4
winoutreach5

winoutreach5

    Newbie

  • Member
  • 31 posts
  • OS:none specified
  • Country: Country Flag
You might want to consider building this image with the Microsoft Deployment Toolkit (MDT) rather than manually because with MDT your drivers can be managed automatically which will in turn remove all the guesswork from the task. There are some drivers which do not play as well with DISM as others, particularly those with dependencies beyond the .inf files.

First, aside from being free, MDT acts as a common console and can handle all of your deployments and it allows you to create various task sequences to accomplish your imaging and deployment goals / needs. To start, you can create a Sysprep and Capture Task Sequence which will do exactly what it says in the title -- it will sysprep your image and then proceed to capture it for use with deployment. Next, you can create a new standard client task sequence for the newly captured image of your reference machine and you can add all your necessary settings such as domainjoin, systemlocale, time zone, etc. Then you can then add all necessary drivers specific to each hardware configuration as a post installation task and any applications you need as well.

If applicable, you can also edit the unattend.xml file of each task sequence. After you have modified each task sequence with all settings and drivers you need, you could then tie MDT into Windows Deployment Services (WDS) and push the image out via PXE boot. You can also create bootable media directly from MDT if you did not want to go the PXE boot method. Upon booting into the LiteTouchPE environment, you can select the image you wish to deploy and which task sequence you wish to use.

To become more familiar with MDT you might want to check out the following videos from the Springboard Series page on TechNet:

Deployment Day Session 1: Introduction to MDT 2012
Deployment Day Session 2: MDT 2012 Advanced
Deployment Day Session 3: Deployment using WDS

Another great video that I always recommend is Alphabet Soup Deployment: Understanding MDT, WDS, MAP, ACT, SCCM, and USMT.

Hope this helps and keep us updated on your progress!

Jessica
Windows Outreach Team – IT Pro

#5
iamtheky

iamtheky

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 866 posts
http://www.theexperi...age-using-dism/

this might be your issue, we had to unpack many of our drivers as well, though we just used 7z on the package rather than the expand command.
iamtheKy

#6
Tripredacus

Tripredacus

    K-Mart-ian Legend

  • Super Moderator
  • 9,750 posts
  • OS:Server 2012
  • Country: Country Flag

Donator

http://www.theexperienceblog.com/2009/07/30/error-30-when-injecting-nvidia-driver-into-windows-7-image-using-dism/

this might be your issue, we had to unpack many of our drivers as well, though we just used 7z on the package rather than the expand command.


You can't inject an nVidia (or ATI) inf as-is because of how the INF is written. If you install the driver manually then use a driver extractor like Driver Magician (or similar) which backs up the INFs, you can then inject that one. I had done that once on Vista, but since installing drivers that way are not supported by the manufacturer, I haven't done it since.
MSFN RULES | GimageX HTA for PE 3-5 | lol probloms
msfn2_zpsc37c7153.jpg

#7
iamtheky

iamtheky

    Friend of MSFN

  • Member
  • PipPipPipPipPip
  • 866 posts
I'll have to grab the drivers (they are no doubt a year or two old by now - and most likely were Dell repacks), but we certainly opened a couple of ATI drivers and used the standard DISM /recurse to drop them. So an alternative to Driver Magician may be grabbing an OEM driver if they still behave similarly.
iamtheKy

#8
IcemanND

IcemanND

    MSFN Junkie

  • Super Moderator
  • 3,266 posts
  • OS:Windows 7 x64
  • Country: Country Flag
There is really no need to inject most drivers into the image. Only drivers you would really need to do this with are boot critical drivers, and I have yet to find any at least for the systems I support.

I just copy the unpacked drivers into a sub-folder structure of c:\windows\inf then sysprep and capture.

One caveat, this works best if you are not mixing chipsets, some Intel devices end up with the incorrect AMD driver if it happens to be available.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users



How to remove advertisement from MSFN