Is it possible to modify the fix_7hdc to detect windows 2008 sp2 and use pkgmgr.exe instead of dism.  I just found a bug post that may or may not explain why I am having issues injecting to w2k8 sp2. http://support.microsoft.com/kb/2853726

Hmm.. It was interesting because it appeared to install the right driver and the script didn't have an error.  I wonder if it is just the driverpack itself.  Maybe I just need to wait for a new one.

Ran into an issue with HP Z820 machine. 
I had to manually update the DP_MassStorage_driverpack x64 to include the latest matching iastor drivers from intel. 
Then I tried to use fix_7hdc on my "Windows 2008 SP1" imaged machine.  It looked good, but the bsod occured.
PE3 sees the drives (side note: i also had to remove the SilRem* drivers from the driverpack due to a conflict in PE3.)
So I manually added the driver IASTORF using these steps: http://social.technet.microsoft.com/For … af77484ae7
The machine booted after I did that.  My question is whether fix_7hdc can also handle Windows 2008 (not R2)?
My manual add proves the driver was correct once I updated the driverpack, so what could it be.  I have spent 2 weeks trying to isolate the issue.

Otherwise is there an alternate way to update w2k8 standard using the manual style instead of dism.  The manual method didn't use dism.  It added the driver correctly by dropping the sys, inf, and reg keys.

Mine is x64 based win7 Pe3.
Here is what I envision, and maybe you can tell me if this is possible using your tool from my x64 cd.

1) Boot my current cd
2) Fix HDC drivers for x64 win7  OR x86 Win7 using a batch menu with preset switches for your vbs.


Example Menu:

1) Activate HDC drivers for x86 Win 7 (standard win7 drivers)
2) Inject and activate HDC drivers for x86 Win 7 (Driverpacks.net folder)
3) Activate HDC drivers for x64 Win 7 (standard win7 drivers)
4) Inject and activate HDC drivers for x64 Win 7 (Driverpacks.net folder)


Question:  Are options 1 and 2 even possible from an x64 PE 3.  I assume the vbs polls from the PE3 x64 environment.  Hmmm...  I guess I should do some trial and error.

Yes my pe build did make use of the pnputil.exe   I double checked inside the wim and found it in \BOOT.WIM\1\Windows\System32\ which when booted from cd was in x:\Windows\System32\
On win7 I am strictly doing x64.  I used to be an xp 32bit only guy.  That is all I use.

Scenerio 2: (untested in 7)
Dell 670 (RAID) that was converted to Dell Laptop M90 using FIX_HDC had to be converted back when returned to RAID. (if memory serves)

Scenerio 3 HPxw8400 to HPz800(win pe 3 without driverpacks added or no boot cd needed in this case)
It turns out my make_pe3 build didn't have the x64 driverpacks added.  Yet still had compatible drivers for FIX_HDC since 7 comes with a ton.  At least my wim built on HP OEM x64 image did.  Not sure if my pe would have had so many otherswise.  I will check tomorrow.  Long story shorboth boxes contain a common sata controlller (lsi_sas i think, might have been iastor.. again i will have to check)  Ran 2 seperate tests. 
Test A)
Booted the cd. Ran fix_hdc (it added 2 drivers and reg key)and no more bsod on z800.the tool worked in pe3
Test B)
Put HPxw8400 drive in Z800 and booted to BSOD
Plugged sata cable into common denominator sata controller matching 8400
Booted z800 and let windows slowly add the second sata controller (which it had the driver for already)
Rebooted and plug the sata back into the newly added primary sata controller
new drive could now boot on either HPxw8400 or HPz800. (the othertech figured out both boxes shared a common controller..no cool points for me)

Scenerio 4:
HPz800 Windows 7 image pushed to Dell m6300 Laptop or Dell M90
BSOD occured.
Booted my  make_pe3 cd and ran fix hdc (it said no driver needed and imported fix_hdc.reg)
no more bsod.

I use lsi_sas, iastor, and ide.  In my case those cover a lot of ground.  I would attach my txtsetup, but not sure how to attach.

I am a bit confused. In your last post were you advocating for fix_7hdc.  Or did your test conclude that dism is capable of changing the start=3.  My vote would be a combination of devcon, dism for the specific drivers, and regedit to set start=3 in a fix_7hdc.

Quick question how do I get dism to only load the driver that matches pe devcon results.  That way it doesnt just load them all using recurse?

I am not h*ll bent on making this overly complicated.  The dism approach sounds like the route I will go.  I never realized i could treat c:\ as if it was a wim mount point, and add drivers with dism.  I haven't played with sysprep in 7 yet, but in xp it unlocked some security on the restored pc that I spent hours setting up.  Dism seems more precise than sysprep obviously.

I have not ignored any of the help you are giving.  I really do appreciate all the responses, especially cdob which is kinda cool he took the time.  I just gotta thenk you cdob because your tool saved me tons of time in the past few years.  It is good to know things are getting easier.

Scenerio 1:
I backup a win7 machine with ghost. The original machine was an HPxw8400 using IASTOR.sys already installed.  I restore the image to an old Dell 670 and try to boot it. BSOD!  I run your tool and FIX_HDC says no driver needed, but still imports the fix_hdc.reg info.  Reboot, and bam no more BSOD.  The reason it needed no driver was because the drive in the 670 was IDE.

Can DISM do that?  I know it adds drivers, but in my scenerio windows had the driver for IDE, but refused to pick it out and use it when the original was built RAID.

If DISM is the way to go can you make a script that adds all the driverpack subfolders for mass storage, and existing ones in winpe just in case.

FIX_HDC v0.02 is the one I use and I think you wrote it.  It says cdob

Maybe you could tweak it to skip TXTSETUP.sif and pull from the ram PE registry and driver files used in the key --> %targetroot%
It looked like your old one searched using devcon for PCI\CC_01 and then did some magic to get info from TXTSETUP for a driver match.
Then from what I can tell it made a reg file and unload the current control set and load the one on %targetroot% followed by a driver copy.

Hey ricktendo64
The disk is already visible in PE3. Which wasn't an issue.  I am working on a plugin support file used by FIX_HDC when booted into PE3.  FIX_HDC looks at the PE3 driver that is running (visible disks) and injects that registry info and driver to the HDD to make it not BSOD.  The boot cd does not BSOD.

I have the drivers for PE 3.0.  The TXTSETUP.SIF is old I know because FIX_HDC needs that filename to exist.  What I need is a way to update it or create a fresh TXTSETUP.SIF for the plugin.  Nothing else in my PE3 is old, and all the drivers are actually pulling from the PE3 cd which is new drivers.  Do you see what my goal is?

I need to generate TXTSETUP.SIF for Windows 7 x64 so that I can use FIX_HDC to inject x64 Mass storage drivers to the offline win7.

Here is what I did so far to fix a BSOD:
1) Created a WinPE3.0 boot cd using MAKE_PE3 built on WIN7x64 and WAIK 3.0
2) Booted the CD on a cloned win7 x64 (different hardware)
2) Added the FIX_HDC.bat to X:\windows\system32 (since the batch doesn't care)
3) Added devcon.exe to  X:\windows\system32 and  X:\windows\sysWoW64 (x64 version from Windows Driver Kit (WDK))
4) Copied TXTSETUP.SIF to X:\windows (from my old xp based UBCD4WIN with integrated 32bit Driverpacks.net Mass Storage)
5) Search and replaced iastor86 with iastor in X:\windows\TXTSETUP.SIF
6) Search and replaced symmpi with lsi_sas in X:\windows\TXTSETUP.SIF
7) Search and replaced iastor78 with iastor in X:\windows\TXTSETUP.SIF
8) Ran FIX_HDC.bat
9) Compared the results to device manager in WinPE3.0
10) Removed the cd
11) Rebooted and no more BSOD

If someone can help me create a TXTSETUP.SIF from DP_MassStorage_wnt6-x64 I will have a cool way to fix BSOD without editing my old x86 file every time. 

I am so close on this.  Just need a little help.