Jump to content

adding packages to install.wim: does order change anything?


Recommended Posts

Posted

when editing an install wim file suppose there's 2 independent updates A & B

 

case 1) first add A then add B then commit

 

case 2) first add B then add A then commit

 

will the wim file be the same in the end (byte by byte)?

Posted (edited)

I'm assuming this is an offline integration...

 

So, in my understanding, order can often be important, especially in the case of this recent Windows 7 rollup (KB3125574).

Often you can fire off a DISM /add-package command that simply points to a directory full of updates, but you'd need to be sure that any of those updates in that folder have their pre-requisites already integrated, in a separate DISM session.

 

For example, in order to integrate the KB3125574 rollup you first need to integrate the updated servicing stack (KB3020369), and that would need to be issued with a separate DISM command.

Like so...

 

DISM   /image:D:\offlineWIM  /add-package  /packagepath:D:\updates\KB3020369\Windows6.1-KB3020369-x64.cab
DISM   /image:D:\offlineWIM  /add-package  /packagepath:D:\updates\KB3125574\Windows6.1-KB3125574-x64.cab

 

It would not work if you placed both of those updates in an update folder, 'updates' and then issued the following command

DISM   /image:D:\offlineWIM  /add-package  /packagepath:D:\updates

 

Although it would try to integrated those updates, even in the correct order, 3020369 then 3125574, it will fail because technically KB3020369 has not yet been integrated - it is pending the rest of the package installs for that session (single DISM command).

 

However, once you've integrated your particular updates, you can then issue this command to integrate the remaining, non-dependant updates...

DISM   /image:D:\offlineWIM  /add-package  /packagepath:D:\updates

 

I'm sure someone can put that in a more concise way, but you just need to issue a separate DISM command line /add-package, for updates that are pre-requisites to others. If you want to know which ones you'll have to do some digging and look around at what is already written on the interweb thingy.

 

Alternatively, do some testing yourself and see if any of your updates fail during integration, that may tell you that they are depending on another update...

Edited by mrwoberts
Posted

bummer that complicates things

 

and btw and did the same set of dism commands on the same install.wim file twice (after resetting the wim file I mean)

and each time the size of the wim file is different - what gives?

the files inside the edited .wim file should be the same each time right? (same content even if meta data like date & time are different)

Posted
the files inside the edited .wim file should be the same each time right? (same content even if meta data like date & time are different)

 

Not necessarily, it depends if DISM did exactly the same process each time. I don't usually pay that much attention to the size of the wim file, assuming the output to the DISM commands all went smoothly.

 

Post your integration script/commands in full and let us see how you are doing things... As conversations like this are a bit like trying to help a patient when they're not telling you everything :D

Posted (edited)
It would not work if you placed both of those updates in an update folder, 'updates' and then issued the following command

DISM   /image:D:\offlineWIM  /add-package  /packagepath:D:\updates

Another way of doing it would be to separate the updates into multiple folders so that the .cab or .msu files are still integrated in the correct order. e.g.

 

DISM /image:D:\offlineWIM /Add-Package /PackagePath:D:\Updates\001_ServicingStack
DISM /image:D:\offlineWIM /Add-Package /PackagePath:D:\Updates\002_PlatformUpdate
DISM /image:D:\offlineWIM /Add-Package /PackagePath:D:\Updates\003_IE11
DISM /image:D:\offlineWIM /Add-Package /PackagePath:D:\Updates\004_IE11_Updates

[...]

DISM /image:D:\offlineWIM /Add-Package /PackagePath:D:\Updates\099_ConvenienceRollup

 

Post your integration script/commands in full and let us see how you are doing things... As conversations like this are a bit like trying to help a patient when they're not telling you everything :D

+1,000,000! :D

Edited by Arthur
  • Thanks 1
Posted (edited)

Post your integration script/commands in full and let us see how you are doing things... As conversations like this are a bit like trying to help a patient when they're not telling you everything :D

alrite so both times I do it from a win7 VM

 

 

alrite so each time I reset everything (especially the install.wim file)

 

the first time I do this (on the same original install.wim):

 

Dism /Mount-WIM /WimFile:e:\Win7SP1ISO\sources\install.wim /index:3 /MountDir:e:\Win7SP1ISO\offline

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB2670838-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3020369-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3102810-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3138612-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3145739-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3153199-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3156017-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\windows6.1-kb3125574-v4-x64.msu

Dism /Unmount-WIM /MountDir:e:\Win7SP1ISO\offline /Commit

 

then I save the new install.wim to another drive as 1.wim & reset everything

and the 2nd time I do this:

 

Dism /Mount-WIM /WimFile:e:\Win7SP1ISO\sources\install.wim /index:3 /MountDir:e:\Win7SP1ISO\offline

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB2670838-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3020369-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3102810-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3138612-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3145739-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3153199-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\Windows6.1-KB3156017-x64.msu

Dism /Image:e:\Win7SP1ISO\offline /Add-Package /PackagePath:e:\updates\windows6.1-kb3125574-v4-x64.msu

Dism /Unmount-WIM /MountDir:e:\Win7SP1ISO\offline /Commit

 

save the new install.wim to the other drive as 2.wim & reset everything

 

then I compare 1.wim & 2.wim

now at this point logic says the 2 files should at least have same size right? (and all the files inside the new wim archives should have same byte by byte content even if time & date differs)

nope

that's the mystery

 

that means at some point one of the two dism sessions (or both) screwed up

(or dism has some random factor in its algorithms & does "what it feels like" lol)

 

 

ps. takes a long time to post something here cause my proxy's slow :/

Edited by 7point5
Posted
btw how do I keep the forum from sending a notification mail everytime there's a reply? I delete subscription to thread but subscription reappears after each new post
Posted

Which VM software are you using?

What is the e: drive, is that a USB drive, connected to your VM?

 

btw how do I keep the forum from sending a notification mail everytime there's a reply? I delete subscription to thread but subscription reappears after each new post

I normally just change the type of subscription to Daily or Weekly, maybe just check that the subscription hasn't returned, or whether you've deleted all the ones you don't want...

Posted

virtualbox latest version w/guest additions

 

dunnit several times (delete subs) they return each time with every new post but I didn't notice the frequency of subs could be edited - changed it to 'panel only' hopefully that'll stop the mails

Posted

whoops forgot to mention

 

it's a secondary internal (virtual) drive

 

c: & e: are on separate .vdi disk files both attached to the same VM (and both on the same "real life" drive & partition)

the virtual win7 is installed on c: of course

Posted

Well, your commands look normal, and should produce identical files, so there must be some piece of the puzzle missing.

 

Are the 1.wim file sizes ever the same?

I mean, when you repeat the test again in your VM, is it identical to the first time you ran the test or are they fairly random file sizes after each run?

Posted
Well, your commands look normal, and should produce identical files, so there must be some piece of the puzzle missing.

 

Are the 1.wim file sizes ever the same?

I mean, when you repeat the test again in your VM, is it identical to the first time you ran the test or are they fairly random file sizes after each run?

I only done it twice (take 2h between mounting & unmounting)

 

the 2 files are almost same size (about 1kb difference)

 

using 7zip I can look inside & most files are the same but some are totally different (not just in date/time)

 

like there was one file COMPONENTS (no extension) about 40mb both versions had exact same size yet different content

 

 

now during the streaming I still surfed (on my real PC) & did various stuff but that shouldn't affect operations inside the VM should it?

 

 

anyway I'm doing 3rd run to see what happens

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



×
×
  • Create New...