Jump to content











Photo
- - - - -

Vista PE lockup while loading MSHDC.inf


  • Please log in to reply
15 replies to this topic

#1 kfishoh

kfishoh
  • Members
  • 4 posts
  •  
    United States

Posted 30 August 2008 - 12:28 AM

Hello All,

I am really new to the VistaPE project but I am very impressed as I am coming over from BartPE and I like it very much for its flexibility and other features it offers. I am currently having an issue using it with my new Toshiba laptop and have diagnosed it down to a problem with the version of the MSHDC.inf file used based on the information from Microsoft KB943170.

http://support.microsoft.com/kb/943170

Is there a way to integrate this hotfix to get the newer version of the MSHDC.inf in the build? I really dislike vlite and would prefer to use another way if possible.

Thanks for all the help.

#2 SiM99

SiM99

    Newbie

  • Members
  • 12 posts
  •  
    United Kingdom

Posted 12 March 2009 - 12:10 AM

I am also attempting to create a Vista PE disc for use with a Toshiba L40-17F and having the same trouble.

Was there a fix found? Also, how would vlite help solve the issue?

#3 Adam_W

Adam_W

    Member

  • Members
  • 31 posts
  •  
    Canada

Posted 23 March 2009 - 08:16 PM

My Instructions assume the following directory structure

C:\VistaPE\Target\VistaPE - RootDir VistaPE TargetDir
C:\VistaPE\Mount - Mount Dir
C:\VistaPE\ISO
C:\Hotfix - Location of hotfix

You can try this:

1. Ensure WAIK is installed
2. Download Hotfix
3. Rename Windows6.0-KB943170-v2-x86.msu to KB943170-v2-x86.cab
4. Extract Windows6.0-KB943170-v2-x86.cab from KB943170-v2-x86.cab to C:\hotfix\
5. Delete KB943170-v2-x86.cab
5. Open Vista PE under Finalize uncheck Create ISO
6. Build vista PE project
7. Open start menu navigate to WAIK\Windows PE Tools Command Prompt
8. Mount vistape from the cmd line
cmd: imagex /mountrw C:\VistaPE\Target\VistaPE\VistaPE.wim 1 C:\VistaPE\Mount
9. Import Hotfix
cmd:peimg "C:\VistaPE\Mount\Windows" /import="C:\hotfix\Windows6.0-KB943170-v2-x86.cab"
10. List Packages
cmd:peimg /list "C:\VistaPE\Mount\Windows"
11. Install Update Package
cmd:peimg /install=<updatename> "C:\VistaPE\Mount\Windows"
12. Unmount Image Saving Changes
cmd: imagex /unmount /commit C:\VistaPE\Mount
13. Generate ISO
cmd: oscdimg -u2 -b"C:\VistaPE\Target\VistaPE\boot\etfsboot.com" -l"VistaPE" C:\VistaPE\Target\VistaPE C:\VistaPE\ISO\VistaPE.iso

#4 allanf

allanf

    Gold Member

  • .script developer
  • 1256 posts

Posted 24 March 2009 - 01:17 AM

...

9. Install Hotfix
cmd:peimg "C:\VistaPE\Mount\Windows" /import="C:\hotfix\Windows6.0-KB943170-v2-x86.cab"


peimg /import does not work with the standard VistaPE.

If it did , you would also need to use the cmd: peimg /install

Regards :good:

#5 Adam_W

Adam_W

    Member

  • Members
  • 31 posts
  •  
    Canada

Posted 24 March 2009 - 02:03 AM

Hi allanf, thanks for the additional information (post modified). I knew I forgot something :good:

Sorry SIM99, and kfishoh, I have experience in Windows PE and made an assumption that the same tools would work in Vista PE as well. why does peimg /import not work with vista pe? Could you apply the update to the source install.wim and boot.wim instead using vlite or peimg so that during the build process the files are copied over?

#6 allanf

allanf

    Gold Member

  • .script developer
  • 1256 posts

Posted 24 March 2009 - 02:49 AM

why does peimg /import not work with vista pe?


... because the Install DVD's boot.wim has been 'peimg /prep'ed.

From the User's Guide:

... after the /prep option is issued, the /install, /uninstall, /import, and /list options will not function.


One very good reason to switch from VistaPE tp winbuilder Project pe21.003d ... :good: ...


Could you apply the update to the source install.wim and boot.wim instead using vlite or peimg so that during the build process the files are copied over?


... update to the install.wim, but you would need to use PKGMGR! ... ^_^ ... Aargh!


Regards ^_^

#7 Adam_W

Adam_W

    Member

  • Members
  • 31 posts
  •  
    Canada

Posted 24 March 2009 - 03:17 AM

Allanf thanks again for a great post.

If you have WAIK does vista pe use boot.wim from the Vista DVD or WAIK? If it uses boot.wim from WAIK it will not be prep'd already... and hopefully they can still use peimg to import the hotfix

#8 allanf

allanf

    Gold Member

  • .script developer
  • 1256 posts

Posted 24 March 2009 - 03:39 AM

Allanf thanks again for a great post.

If you have WAIK does vista pe use boot.wim from the Vista DVD or WAIK? If it uses boot.wim from WAIK it will not be prep'd already... and hopefully they can still use peimg to import the hotfix


You tell me. Does it work or not?

I don't use VistaPE any more - not since v.11 when my Vista RC1, then Server 2008 beta3 expired. I only use pe21.003d ... :good: ...

Regards

#9 Adam_W

Adam_W

    Member

  • Members
  • 31 posts
  •  
    Canada

Posted 24 March 2009 - 11:56 AM

Hi allanf,

I have checked the build script for Vista Pe, Vista PE will autodetect that WAIK is installed and will use winpe.wim as the bootsrc for your project. So it should be ok with following my instructions, just make sure you have WAIK installed before you build your project.

ShellExecute,Hide,&#34;#$q%IMAGEX%#$q&#34;,&#34;/mount #$q%SDIR1%\winpe.wim#$q 1 #$q%BootSRC%#$q&#34;


#10 allanf

allanf

    Gold Member

  • .script developer
  • 1256 posts

Posted 24 March 2009 - 12:32 PM

Hi allanf,

I have checked the build script for Vista Pe, Vista PE will autodetect that WAIK is installed and will use winpe.wim as the bootsrc for your project. So you should be ok with following my instructions, just make sure you have WAIK installed before you build your project.

ShellExecute,Hide,&#34;#$q%IMAGEX%#$q&#34;,&#34;/mount #$q%SDIR1%\winpe.wim#$q 1 #$q%BootSRC%#$q&#34;


Thanks Adam_W,

But I'm not the one with the problem. My project? I DON'T USE VISTAPE! I only use pe21.003d ... :good: ...

Anyway, I'm quite certain that VistaPE does not mount winpe.wim by default. It mounts boot.wim index:2, which has been prepped, and so is pretty much stifled in terms of adding packages and drivers. In order for your iinstructions to be valid, you need to specify more detail - which version of VistPE, which scripts to select, what options to select in which scripts, etc

Regards ^_^

EDIT: Adding drivers is OK.

#11 SiM99

SiM99

    Newbie

  • Members
  • 12 posts
  •  
    United Kingdom

Posted 07 April 2009 - 11:33 PM

Hi allanf,

I have checked the build script for Vista Pe, Vista PE will autodetect that WAIK is installed and will use winpe.wim as the bootsrc for your project. So it should be ok with following my instructions, just make sure you have WAIK installed before you build your project.

ShellExecute,Hide,&#34;#$q%IMAGEX%#$q&#34;,&#34;/mount #$q%SDIR1%\winpe.wim#$q 1 #$q%BootSRC%#$q&#34;

Adam_W, does this line of code indicate that you have a script in place to carry out the operation for you? If so, could you post it? :good:


I've been trying to follow your instructions, and gotten as far as the peimg lines...

C&#58;\Program Files\Windows AIK\Tools\PETools>imagex /mountrw C&#58;\WinBuilder\Target\VistaPE-Core\vistape.wim 1 C&#58;\WinBuilder\Temp\mounted



ImageX Tool for Windows

Copyright &#40;C&#41; Microsoft Corp. All rights reserved.





Mounting &#40;RW&#41;&#58; &#91;C&#58;\WinBuilder\Target\VistaPE-Core\vistape.wim, 1&#93; ->

			   &#91;C&#58;\WinBuilder\Temp\mounted&#93;



Successfully mounted image &#40;RW&#41;.
C&#58;\Program Files\Windows AIK\Tools\PETools>imagex /mountrw



ImageX Tool for Windows

Copyright &#40;C&#41; Microsoft Corp. All rights reserved.







Listing all mounted images...



1.

 Mount Path ....&#58;&#91;C&#58;\WinBuilder\Temp\mounted&#93;

 Image File ....&#58;&#91;C&#58;\WinBuilder\Target\VistaPE-Core\vistape.wim&#93;

 Image Index ...&#58;&#91;1&#93;

 Mounted R/W ...&#58;&#91;1&#93;



Number of Mounted Images&#58; 1
C&#58;\Program Files\Windows AIK\Tools\PETools>peimg /image=C&#58;\WinBuilder\Temp\mounted\windows /import=C&#58;\WinBuilder\#files\Windows6.0-KB943170-v2-x86.cab

Preinstallation Environment Image Setup Tool for Windows

Copyright &#40;C&#41; Microsoft Corporation. All rights reserved.



The image directory specified is not a valid Windows PE image.





PEIMG failed to complete the operation with status code 0x80070002.
C&#58;\Program Files\Windows AIK\Tools\PETools>peimg /list /image=C&#58;\WinBuilder\Temp\mounted\windows

Preinstallation Environment Image Setup Tool for Windows

Copyright &#40;C&#41; Microsoft Corporation. All rights reserved.



The image directory specified is not a valid Windows PE image.





PEIMG failed to complete the operation with status code 0x80070002.
C&#58;\Program Files\Windows AIK\Tools\PETools>imagex /unmount C&#58;\WinBuilder\Temp\mounted



ImageX Tool for Windows

Copyright &#40;C&#41; Microsoft Corp. All rights reserved.





Unmounting&#58; &#91;C&#58;\WinBuilder\Temp\mounted&#93;...



Successfully unmounted image.

As you can see from the program output above, it's giving me error code 0x80070002 and stating that the directory is not a valid PE image. I have played around with it and looked for help online to see if I could get it working, but I think I'm out of ideas. Well, unless something IS actually wrong that is...

I'm using WinBuilder 0.76 to build the VistaPE image, but for some reason it doesn't allow me to uncheck "Create ISO/CD/USB" under "Finalize". I assume that this won't make a big difference for this purpose, although it will take longer for WinBuilder to complete. Is that correct?

I am using both the Windows Vista Ultimate DVD and the WAIK (SP1) as sources. Let me know if any further info would be needed.

Thanks ^_^

#12 allanf

allanf

    Gold Member

  • .script developer
  • 1256 posts

Posted 08 April 2009 - 12:07 AM

I am using both the Windows Vista Ultimate DVD and the WAIK (SP1) as sources. Let me know if any further info would be needed.

Thanks ^_^


AFAIK, WinBuilder allows a single Source.

Your peimg output indicates that Windows AIK may be the selected Source, in which case much of VistaPE's advanced functionality will not be available.

However, I understand that there may be a VistaPE preconfig script that allows WAIK's winpe.wim to be mounted as BootSrc rather than the Install DVD's boot.wim. This method may require the image index to be adjusted from #2 for boot.wim to *1 for winpe.wim. There should be an option for that somewhere in the VistaPE WinBuilder inteface.


From your code, it appears that you have manually re-mounted the finalized vistape.wim index:1, which was built from Windows AIK as the Source.

Since your peimg output indicates that the mounted image has not been 'peimg /prep'ed, the next stage would be to investigate the directory structure of the mounted image. In particular, there needs to be 'Windows\', 'Program Files\', and 'Users\' in the root. Also a hidden directory, 'ProgramData\', whcih may or may not be necessary.

There are other components of the directory structure which may indicate to peimg that the mounted vistape.wim image is not a PE image.

The best method is to use peimg immediately the original image (unprepped winpe.wim) is mounted - before any customizations.

Regards :good:

#13 SiM99

SiM99

    Newbie

  • Members
  • 12 posts
  •  
    United Kingdom

Posted 08 April 2009 - 12:54 AM

Thanks for the VERY fast response allanf :good:

AFAIK, WinBuilder allows a single Source.

Yes, sorry - I meant that the source itself is set to Vista Ultimate, but I also have the WAIK path set under the API settings section.

Your peimg output indicates that Windows AIK may be the selected Source, in which case much of VistaPE's advanced functionality will not be available.

However, I understand that there may be a VistaPE preconfig script that allows WAIK's winpe.wim to be mounted as BootSrc rather than the Install DVD's boot.wim. This method may require the image index to be adjusted from #2 for boot.wim to *1 for winpe.wim. There should be an option for that somewhere in the VistaPE WinBuilder inteface.

In the PreConfig section, there's two settings:
boot.wim container [options 1 - 10, 2 selected]
install.wim container [options 1-10, 1 selected]

From your code, it appears that you have manually re-mounted the finalized vistape.wim index:1, which was built from Windows AIK as the Source.

Since your peimg output indicates that the mounted image has not been 'peimg /prep'ed, the next stage would be to investigate the directory structure of the mounted image. In particular, there needs to be 'Windows\', 'Program Files\', and 'Users\' in the root. Also a hidden directory, 'ProgramData\', whcih may or may not be necessary.

There are other components of the directory structure which may indicate to peimg that the mounted vistape.wim image is not a PE image.

It seems that the User directory is missing...
C&#58;\WinBuilder\Temp\mounted>dir

 Volume in drive C is WINDOWS

 Volume Serial Number is 3CED-5960



 Directory of C&#58;\WinBuilder\Temp\mounted



08/04/2009  01&#58;28	<DIR>		  .

08/04/2009  01&#58;28	<DIR>		  ..

08/04/2009  01&#58;27	<DIR>		  Program Files

08/04/2009  01&#58;27	<DIR>		  ProgramData

08/04/2009  01&#58;27	<DIR>		  windows

02/11/2006  07&#58;00		   438,840 BOOTMGR

			   1 File&#40;s&#41;		438,840 bytes

			   5 Dir&#40;s&#41;  14,566,207,488 bytes free

The best method is to use peimg immediately the original image (unprepped winpe.wim) is mounted - before any customizations.

Do you mean I should use it on the file in the source directory? seems to be a good idea, as long as it won't cause problems in other areas of course, but I'd have to copy the Vista disc on to my hdd first. Otherwise I would think that you mean that it should be done at some point during the build process (using a script?)

2am, I must go and sleep - I'll try more tomorrow

#14 allanf

allanf

    Gold Member

  • .script developer
  • 1256 posts

Posted 08 April 2009 - 01:10 AM

Do you mean I should use it on the file in the source directory? seems to be a good idea, as long as it won't cause problems in other areas of course, but I'd have to copy the Vista disc on to my hdd first. Otherwise I would think that you mean that it should be done at some point during the build process (using a script?)

2am, I must go and sleep - I'll try more tomorrow


Thanks. I'm still confused as to whether your BootSrc is WAIK's winpe.wim or Install DVD's boot.wim

I mean that the best option would be to run the peimg by script during the build to see if it works. IWhatever it is that your trying to install may not be compatible with PE Images at all - whether prepped or otherwise.

I'll have a closer look at it, and tomorrow you may be in for a big surprise or major disappointment. ... ^_^ ...

Regards :good:

#15 allanf

allanf

    Gold Member

  • .script developer
  • 1256 posts

Posted 08 April 2009 - 10:09 AM

The good news is that the txt file inside Windows6.0-KB943170-v2-x86.msu says:

ApplicabilityInfo="WinPE 2.1;Windows Vista SP1;Windows Server 2008;Windows Server Core;"


It installs successfully with peimg. Whether it actually works in WinPE 2.1 or not, I don't know.

Here is the WinBuilder Code if you're interested:

If,NotExistDir,&#34;%BaseDir%\Custom\KB943170&#34;,DirMake,&#34;%BaseDir%\Custom\KB943170&#34;

ShellExecute,Open,&#34;cmd.exe&#34;,&#34;/k #$qC&#58;\Program Files\Windows AIK\Tools\Servicing\expand.exe#$q -F&#58;* %BaseDir%\Custom\Windows6.0-KB943170-v2-x86.msu %BaseDir%\Custom\KB943170&#34;

ShellExecute,Open,&#34;cmd.exe&#34;,&#34;/k #$qC&#58;\Program Files\Windows AIK\Tools\PETools\peimg.exe#$q /import=%BaseDir%\Custom\KB943170\*KB943170*.cab %TargetDir%\Windows&#34;

ShellExecute,Open,&#34;cmd.exe&#34;,&#34;/k #$qC&#58;\Program Files\Windows AIK\Tools\PETools\peimg.exe#$q /install=*KB943170* %TargetDir%\Windows&#34;

ShellExecute,Open,&#34;cmd.exe&#34;,&#34;/k #$qC&#58;\Program Files\Windows AIK\Tools\PETools\peimg.exe#$q /list /verbose %TargetDir%\Windows&#34;

Requires:

<Winbuilder BaseDir>\Custom\Windows6.0-KB943170-v2-x86.msu

Pasted into script immediately after the instruction to mount the BootSrc, and assumes that the BootScr image has not been 'peimg /prep'ed - that is, VistaPE needs to be configured so that WAIK's winpe.wim indwx:1 is mounted, rather than the Install DVD's boot.wim index:2.

Command windows are opened and held open. Close them to continue the Build.

EDIT: This comes from my Project pe21 which uses only the WAIK. So the path needs to be adjusted to suit VistaPE. The "%TargetDir%" variable must be altered so that it points to VistaPE's Mounted Boot Source Directory (whatever that is).

Regards :good:

#16 Adam_W

Adam_W

    Member

  • Members
  • 31 posts
  •  
    Canada

Posted 08 April 2009 - 12:52 PM

Adam_W, does this line of code indicate that you have a script in place to carry out the operation


Check out Max_Real Qnx modified Vista PE. That VistaPE distro automatically selected WAIK's winpe.wim as the BootSrc.

http://www.boot-land...?...3710&st=160

PEIMG failed to complete the operation with status code 0x80070002.


I read somewhere that peimg only works if certain directories are present, peimg uses those dirs to detect the image supplied is valid. See below.

http://www.boot-land...amp;#entry44478

If all else fails I will try creating a script file for the update that will update the nessary files and registry keys without need of peimg.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users