Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
greenhillmaniac

Remove drivers from Vista install.wim?

Recommended Posts

I've been tinkering with pkgmgr and peimg to create a fully updated Windows Vista image (with all updates until its EOL) and so far, I've had some success, slipstreaming around 200 updates + 300 hotfixes into an image that ended up occupying 6GB (if it fits on a 16GB USB drive that's fine by me). I've tested the resulting ISO image on VMWare and all was working fine, with the system booting with IE9, DX11 and all that good stuff right out of the box.

The problem arrived when I tried to splipstream USB 3.0 drivers into both the install.wim and the boot.wim. As you might know, Intel USB 3.0 drivers don't work on Vista BUT AMD uses Asmedia for all of their chipset's USB 3.0 functionality, and since I recently upgraded to a Ryzen build, I wanted to give it a shot and see if I could get my USB 3.0 ports working. I slipstream the drivers into both install.wim and boot.wim following the documentation Microsoft provided:

https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc766141(v=ws.10) - install.wim
https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-vista/cc749350(v=ws.10) - boot.wim

So when I went to install Vista and it booted off the USB all seemed fine. My mouse and keyboard were working! The problem came after the setup procedure. Right before the initial setup to define the account name and PC name it gave me an error saying that the setup was corrupted and it needed a reboot. I rebooted, but it didn't do anything, being that my PC was stuck on this reboot loop. I'm sure it must be the driver, because the installation was working fine on the VM.

So my question, as you can see by the title, is how do I remove drivers I've already integrated into an install.wim?

If we were talking about Windows 7 and up, all I would need to do was run a simple Dism command, but I'm not too familiar with pkgmgr or Vista deployment to know how to do it.

Any input on the subject would be appreciated.

Share this post


Link to post
Share on other sites

Posted (edited)

The only alternative I know of to DISM that might offer the functionality you're looking for is Windows Automated Installation Kit (WAIK). You can download it from Microsoft here (it says it's for SP1, but it should work with SP2 as well). There's a newer version here that seems to cater to Windows 7 more, but according to the system requirements section it works on Vista as well. 

Now I can't say for sure whether WAIK allows you to do what you're looking to do as I've never used it myself, so take what I say with a grain of salt. However for Vista it's the only thing I know of that could allow you to do it, other than vLite (which I've never used myself, either).

Good luck, and hope I helped! :)

Edited by WinClient5270

Share this post


Link to post
Share on other sites
Posted (edited)
6 hours ago, WinClient5270 said:

Now I can't say for sure whether WAIK allows you to do what you're looking to do as I've never used it myself, so take what I say with a grain of salt. However for Vista it's the only thing I know of that could allow you to do it, other than vLite (which I've never used myself, either).

I already used the Vista WAIK because of the PEIMG tool and pkgmgr to slipstream the aforementioned updates. Just tried vLite, but it only allows the removal of generic Windows components, and not specific image drivers. I wanted to do it more natively, with either pkgmgr or a similar tool anyway...

Thanks for the help either way.

If anybody is more experience in Vista image costumization please do tell how to remove offline drivers.

Edited by greenhillmaniac

Share this post


Link to post
Share on other sites

Just delete the folder containing the incriminated driver from \windows\system32\driverstore\filerepository

Share this post


Link to post
Share on other sites
1 hour ago, T-S said:

Just delete the folder containing the incriminated driver from \windows\system32\driverstore\filerepository

Won't that corrupt the image?

Share this post


Link to post
Share on other sites

I thought your problem was to have your system bootable w/o having an unwanted driver, whatever, why it should corrupt?

I'm not sure if external drivers will be integrated in the winsxs component store in vista, but even if that was the case, the worse that can happen is that the driver will be written again in the file repository if you do a sfc /scannow.

P.S. to avoid such big winsxs folder, plenty of useless trash, I strongly suggest to use winsxslite 1.88 (better if used offline from another ***32 bit*** system, possibly vista/serv 2008 or seven, the managed system can be a 64 bit one). 

Winsxlite would be redundant in win 8.1/10 given MS (finally) decided to implement the /resetbase option in dism, what's left out is win 8.0, in my experience is not safe to use winsxlite there.

Share this post


Link to post
Share on other sites
13 minutes ago, T-S said:

I strongly suggest to use winsxslite 1.88 (better if used offline from another ***32 bit*** system, possibly vista/serv 2008 or seven, the managed system can be a 64 bit one). 

Funny, I once tried that tool on an online x64 Vista installation and it made the component store corrupt ("sfc /scannow" kept reporting errors). Didn't know the tool needed to be run on a 32 bit context.

Anyway, about the drivers, there are also .sys files of the integrated driver on the /System32/drivers folder. Should I remove those aswell?

Share this post


Link to post
Share on other sites
Posted (edited)
Quote

Funny, I once tried that tool on an online x64 Vista installation and it made the component store corrupt ("sfc /scannow" kept reporting errors). Didn't know the tool needed to be run on a 32 bit context.

 

Winsxs lite uses the command subinacl which does not work in x64. there are obviously other ways (starting from using nsudo w/o touching the permissions) but given winsxs is a such complex script, fixing it to run is well beyond my personal knowledge.

Whatever my definition of corrupt image is an image not serviceable anymore with dism. Errors with sfc scannow are very common even on stock images

Quote

Anyway, about the drivers, there are also .sys files of the integrated driver on the /System32/drivers folder. Should I remove those aswell?

Not really needed, but yes, you can delete them, the inf file from windows\inf, and eventually any related entry in HLKM\sofrware\microsoft\windows\current\version\componentbasedservicing\packages

Edited by T-S

Share this post


Link to post
Share on other sites

Some drivers require either the User-Mode (UMDF) or Kernel-Mode (KMDF) update package to be added as a pre-requisite. If you image your system, when you get the error, reboot back into a WinPE, and then go to read the setupact.log on the HDD, if there is an error followed by a line talking about "pending primitives" then this is needed. Otherwise, if this is too much work to do, you can just add the two updates (appropriate for your architecture) and try it again, the problem may "go away."

Share this post


Link to post
Share on other sites

@jaclaz

I read that article sometime ago, i suggest to people who read this thread, the hard link shell extension, in the hope that also win people try to get what real links (as opposite of win95 style links) are.

Also how the "misterious" winsxs dir works and how win6+ windows installations are organized.

Share this post


Link to post
Share on other sites
28 minutes ago, Tripredacus said:

Some drivers require either the User-Mode (UMDF) or Kernel-Mode (KMDF) update package to be added as a pre-requisite. If you image your system, when you get the error, reboot back into a WinPE, and then go to read the setupact.log on the HDD, if there is an error followed by a line talking about "pending primitives" then this is needed. Otherwise, if this is too much work to do, you can just add the two updates (appropriate for your architecture) and try it again, the problem may "go away."

I already slipstreamed all of the existing updates for Vista. This includes the WDF 1.11 from 8.0, so I couldn't see that as the problem.

Share this post


Link to post
Share on other sites

WDF = Windows Driver Framework, is a different thing. The UMDF and KMDF updates are small, worth a shot.

Share this post


Link to post
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

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×