Jump to content

Vista QFE slipstreaming


Recommended Posts

For those who like to give it a try with the peimg.exe method...

I created a batch file to automate some stuff. Just put your MSU's in one directory together and run from there. The batch file expands, adds and installs your updates and commits the changes to your image file.

Ofcourse change the variables to reflect your environment. Good luck ;)

set __WimImage=d:\pe20\wim\vista.wim
set __WimMountPath=d:\pe20\wim\mount
set __WindowsDir=%__WimMountPath%\windows

rem *** install.wim SKU's: 1=Business 2=HomeBasic 3=HomePremium 4=Ultimate
set __Index=1

rem *** Expand msu files and copy cabinets for integration
mkdir expand
expand -F:* .\*.msu .\expand
mkdir integrate
xcopy .\expand\Windows6.0*.cab .\integrate
rmdir .\expand /s /q

rem *** Mount WIM image and process updates
imagex /mountrw %__WimImage% %__Index% %__WimMountPath%
peimg %__WindowsDir% /import=.\integrate\*.cab

rem *** Install updates
peimg /install=*Package* %__WindowsDir%

rem *** Creat resultlog
peimg /list /image=%__WindowsDir% >.\result.txt

rem *** Commit changes
imagex /commit /unmount %__WimMountPath%
rmdir .\integrate /s /q

Link to comment
Share on other sites


Nice job the unknown, though you may also wanna check out http://winbeta.org/comments.php?id=6260&catid=1 which I put up earlier today which follows a similar idea to what you did and is a followup to the original article. The update pack has the msu's/UE cabs/imagex/peimg/cdimage etc. all included as well as is able to update the whole iso (all the images in the wim) and rebuild it, except I haven't tested it with 64-Bit yet, since I haven't had a chance to dl the 64-Bit hotfixes nor to install Vista x64.

But yea, peimg works fine and works with vLite as well (ie. over the past few days, I've added hotfixes then removed features using vLite and installed with no issues)

Edited by Arneh
Link to comment
Share on other sites

Nice job the unknown, though you may also wanna check out http://winbeta.org/comments.php?id=6260&catid=1 which I put up earlier today which follows a similar idea to what you did and is a followup to the original article. The update pack has the msu's/UE cabs/imagex/peimg/cdimage etc. all included as well as is able to update the whole iso (all the images in the wim) and rebuild it, except I haven't tested it with 64-Bit yet, since I haven't had a chance to dl the 64-Bit hotfixes nor to install Vista x64.

Thanks Arneh, seems like i reinvented your wheel ;) Anyway, tested your solution and it works great for creating a baseline dvd image for Vista installs!

After this i can recapture the install to my own WIM file and use peimg to add MSU/CAB packages of newer updates to the offline image.

Only thing that concerns me is the Malicious Software Removal Tool MSRT which needs a quiet install during setup or first boot. I am looking for a way to offline service my images without having to go through windows setup every time MS releases a new version of their MSRT.

The best situation would be that, since MSRT is an .exe which needs to install itself, the user gets it automatically installed at first run of the computer, so after the resealing proces. In this way I can just update the mrt.exe file with the latest version and when the user boots the system in OOBE it will get installed.

However, when you sysprep /generalize the system in Audit mode the synchronous commands in the oobeSystem phase of yourr autounattend.xml will be ignored and MSRT will not get installed! If anyone knows how to fix this and how to pass on Firstrun commands to a system after generalization, any help is greatly appreciated.

Workaround for now is to install MSRT during auditSystem phase. However this implies that i have to generalize the system with the tool already installed which makes offline servicing quite difficult.

Link to comment
Share on other sites

Interesting method, cause peimg supposed to be for PE images only. However if it works it works. Haven't tried out yet personaly.

But can you tell me, if this will check the dependency of hotfixes?

Regards,

Martin

Edited by FireGeier
Link to comment
Share on other sites

Seeing that peimg can also be used to import hotfixes into a WinPE image which really is the same thing as a Windows Vista image except WinPE is a smaller bit/extremely light version of Windows Vista, then I would think yea, MS would probably design it so it does do some form of dependency checks though I haven't looked at that bit in detail yet.

Edited by Arneh
Link to comment
Share on other sites

Seeing that peimg can also be used to import hotfixes into a WinPE image which really is the same thing as a Windows Vista image except WinPE is a smaller bit/extremely light version of Windows Vista, then I would think yea, MS would probably design it so it does do some form of dependency checks though I haven't looked at that bit in detail yet.

Well sounds logical on first view. But why MS has designed two utilities than pkgmgr AND peimg? And that the tool is made by MS does not mean that dependency is checked automaticaly unfortunatly. :(

If you look at pkgmgr for example, it will check dependency only if the hotfixes are listed in the same answer file. If you install them with seperat answer files in a loop it will not check dependency. You can pull out that infromation from WAIK help.

Don't missunderstand. I would realy prefere your method, if you or MS or hwo ever can tell, that it will check dependency. Cause your method is very handy! :thumbup

Regards,

Martin

Link to comment
Share on other sites

With peimg, when one imports the hotfixes into the mounted Windows image, it hasn't installed them yet, its storing them as local cache where you don't have to download the updates from WU anymore but they will be listed as having to be installed and there is probably no dependency check in the importing phase (similar to one downloading the updates from WU but stopping the installation).

I think the second part of peimg, the install phase, could best be said to be similar to one running all the msu updates manually one after another on a running Windows install, because, as its been said in other articles, offline/online servicing is identical for Vista, ie. it doesn't matter which method you use.

As for the reason for two different apps, peimg and pkgmgr, your guess is as good as mine because both seem to share a lot in common.

Edited by Arneh
Link to comment
Share on other sites

@All,

I have tried to install several Microsoft Vista Updates into an offline wim file but all attempts failed. Until I tried the post where peimg.exe was mentioned to be used over pkgmgr.exe. This worked for me. I have done this on the Vista Enterprise Edition. After installing a system the updates do not show up on the Windows Update page.

Greetings,

Bitfrotter

Link to comment
Share on other sites

  • 2 weeks later...

Does anyone know what I am doing wrong here. I am trying to integrate these updates into a mounted vista image. The first few installed but then some others failed. Here is the batch

C:\Program Files\Windows AIK\Tools\PETools>peimg /list /image=G:\extract\windows

Preinstallation Environment Image Setup Tool for Windows

Copyright © Microsoft Corporation. All rights reserved.

Culture: en-US

Time zone offset: (GMT-08:00) Pacific Time (US & Canada)

Time zone name: "Pacific Standard Time" (use with /timezone)

Lang | Version | Ins | Name

------+---------------+-----+-----------------------------------------------

|6.0.6000.16442 | + | BitLockerDrivePreparation-Package-KB933246-TopLevel

------+---------------+-----+-----------------------------------------------

|6.0.6000.16422 | + | BitLockerDrivePreparation-Package-TopLevel

------+---------------+-----+-----------------------------------------------

|6.0.6000.16386 | + | Microsoft-Windows-BusinessEdition

------+---------------+-----+-----------------------------------------------

en-US |6.0.6000.16386 | + | Microsoft-Windows-Client-LanguagePack-Package

------+---------------+-----+-----------------------------------------------

|6.0.6000.16455 | + | Microsoft-Windows-DreamScene-Package-Preview.16455-TopLevel

------+---------------+-----+-----------------------------------------------

|6.0.6000.16386 | + | Microsoft-Windows-Foundation-Package

------+---------------+-----+-----------------------------------------------

en-US |6.0.6000.16386 | + | Microsoft-Windows-NetFx3-OC-Package

------+---------------+-----+-----------------------------------------------

|6.0.6000.16386 | + | Microsoft-Windows-NetFx3-OC-Package

------+---------------+-----+-----------------------------------------------

|6.0.6000.16386 | + | Microsoft-Windows-Printing-XPSServices-Package

------+---------------+-----+-----------------------------------------------

|6.0.6000.16442 | + | Microsoft-Windows-Secure-Key-Backup-Package-KB932926-TopLevel

------+---------------+-----+-----------------------------------------------

|6.0.6000.16422 | + | Microsoft-Windows-Secure-Key-Backup-Package-TopLevel

------+---------------+-----+-----------------------------------------------

|6.0.6000.17034 | + | Microsoft-Windows-Shell-HoldEm-Package-KB932925-TopLevel

------+---------------+-----+-----------------------------------------------

|6.0.6000.17015 | + | Microsoft-Windows-Shell-HoldEm-Package-TopLevel

------+---------------+-----+-----------------------------------------------

|6.0.4.0 | - | Package_1_for_KB905866

------+---------------+-----+-----------------------------------------------

|6.0.1.1 | - | Package_1_for_KB929685

------+---------------+-----+-----------------------------------------------

|6.0.1.0 | - | Package_1_for_KB929735

------+---------------+-----+-----------------------------------------------

|6.0.1.0 | - | Package_1_for_KB930857

------+---------------+-----+-----------------------------------------------

|6.0.1.0 | - | Package_1_for_KB931573

------+---------------+-----+-----------------------------------------------

|6.0.1.1 | - | Package_for_KB928089

------+---------------+-----+-----------------------------------------------

|6.0.1.10 | - | Package_for_KB929427

------+---------------+-----+-----------------------------------------------

Listed 20 package(s).

PEIMG completed the operation successfully.

C:\Program Files\Windows AIK\Tools\PETools>peimg /install=* g:\extract\windows

Preinstallation Environment Image Setup Tool for Windows

Copyright © Microsoft Corporation. All rights reserved.

Lang | Version | Ins | Name

------+---------------+-----+-----------------------------------------------

|6.0.4.0 | + | Package_1_for_KB905866

The installation of the previous package failed with status 0x80073701.

Full package name: [Package_1_for_KB905866~31bf3856ad364e35~x86~~6.0.4.0]

Installed 0 package(s).

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

Link to comment
Share on other sites

Lang | Version | Ins | Name

------+---------------+-----+-----------------------------------------------

|6.0.4.0 | + | Package_1_for_KB905866

The installation of the previous package failed with status 0x80073701.

Full package name: [Package_1_for_KB905866~31bf3856ad364e35~x86~~6.0.4.0]

Installed 0 package(s).

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

Try restarting your machine and re-trying it. Peimg integrating is a very delicate process that depends on quite a few dlls and I've had issues similar to that in an install of Vista but my method of fixing it is to boot into my 2003S install and run the tool from there and I've had no issues at all with 2003S and integrating hotfixes using peimg into a Vista install.wim. However, the Vista OS itself, when running peimg from it, may at times for unexplicable reasons have that issue though its pretty rare.

And just so you know, 905866 has integrated fine for me in the past, 928089 was what gave me that error before but it integrated fine using 2003S and also worked fine after a restart of Vista, so try it again after a restart, and if you have XP/2003S installed, give it a try from there too.

Edited by Arneh
Link to comment
Share on other sites

I restarted my computer and also tried on a Windows XP installation. No luck however. One thing funny about this is that all of the "extra" updates installed fine but all of the Package_1_for_KB****** did not. I even tried the following commands:

peimg /install=Package_1_for_KB905866 g:\extract\windows

peimg /install=Package_1_for_KB929685 g:\extract\windows

peimg /install=Package_1_for_KB929735 g:\extract\windows

etc...

I still received the same error message. Is it possible that I messed up the /import? I dont think that is possible since they appear after using /list.

Let me know what you think

Link to comment
Share on other sites

I restarted my computer and also tried on a Windows XP installation. No luck however. One thing funny about this is that all of the "extra" updates installed fine but all of the Package_1_for_KB****** did not. I even tried the following commands:

peimg /install=Package_1_for_KB905866 g:\extract\windows

peimg /install=Package_1_for_KB929685 g:\extract\windows

peimg /install=Package_1_for_KB929735 g:\extract\windows

etc...

I still received the same error message. Is it possible that I messed up the /import? I dont think that is possible since they appear after using /list.

Let me know what you think

Never personally had that issue before and I've done an integration that involved 29 updates at one time and it went fine. Also you shouldnt have to install them one by one. Just use:

peimg /install=*Package* g:\extract\windows

and it'll install any Updates with the wildcard Package. Also, when you were trying to install the hotfixes, were you trying to install them on the previously built image that you made in Vista or a completely new one? If you were using the one partially made in Vista, then I suggest redoing the whole thing from XP.

Also, have a look at my script, http://winbeta.org/comments.php?id=6260&catid=1 to see how I did it.

Link to comment
Share on other sites

I restarted my computer and also tried on a Windows XP installation. No luck however. One thing funny about this is that all of the "extra" updates installed fine but all of the Package_1_for_KB****** did not. I even tried the following commands:

peimg /install=Package_1_for_KB905866 g:\extract\windows

peimg /install=Package_1_for_KB929685 g:\extract\windows

peimg /install=Package_1_for_KB929735 g:\extract\windows

etc...

I still received the same error message. Is it possible that I messed up the /import? I dont think that is possible since they appear after using /list.

Let me know what you think

Never personally had that issue before and I've done an integration that involved 29 updates at one time and it went fine. Also you shouldnt have to install them one by one. Just use:

peimg /install=*Package* g:\extract\windows

and it'll install any Updates with the wildcard Package. Also, when you were trying to install the hotfixes, were you trying to install them on the previously built image that you made in Vista or a completely new one? If you were using the one partially made in Vista, then I suggest redoing the whole thing from XP.

Also, have a look at my script, http://winbeta.org/comments.php?id=6260&catid=1 to see how I did it.

Just ran your batch very impressive & tested all good. :thumbup

Edited by MAVERICKS CHOICE
Link to comment
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
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...