UpdatePack Bijwerken

Discussion of Dutch translation of the Update Pack. Wees vrij om in het Nederlands te discussiëren!
Locked
User avatar
HJW
XPu Master
Posts: 622
Joined: Fri Jul 14, 2006 4:17 pm
Location: University of Technology Delft, Netherlands

UpdatePack Bijwerken

Post by HJW » Wed Jan 20, 2010 10:42 am

XP Post-SP3 Updatepack samenstellen en bijwerken.

Het doel van een dergelijk updatepack is het verzamelen van alle bestanden die door microsoft verspreidde updates beschikbaar zijn gesteld en deze geschikt maken voor integratie op een Windows XP installatie medium.
Een updatepack bestaat dus uit een verzameling updated bestanden. Samen met Catalog-files (svcpack) en Registry-waarden zorg je ervoor dat de update correct wordt verwerkt en aangemeld op het nieuwe geïnstalleerde systeem. Laat je eén van die laatste twee namelijk weg dan verschijnt de update gewoon op Windows Update.
Er zijn diverse updatepacks in omloop. De eerste reden daarvoor is omdat Windows XP beschikbaar is in verschillende talen en elk bronbestand dan vertaalt is. Bij Windows Vista en 7 wordt nu veel gewerkt met MUI files, deze bevatten de vertaling maar niet het werkelijke bestand zelf. Die MUI bestanden worden als het ware als een filter over de bestanden gelegd en zo verschijnt toch alles in de eigen taal.
Daarnaast zijn er diverse voorkeuren over hoe uitgebreid een updatepack moet zijn. Sommigen willen enkel de high priority updates in een updatepack en verder niets. Anderen willen juist zoveel mogelijk updates verwerken en ook bijv. InternetExplorer8 en WindowsMediaPlayer 11.

Voor de Nederlandse XP is altijd de volgende opzet aangehouden:
Updatepack
- beschikbare updates XP
- Windows Media Player 11 + updates
- Internet Explorer 6 updates
- Adobe Flash player
- Microsoft Silverlight
- Microsoft DirectX 9.0c updates
- Microsoft MSXML (alle versies + updates)

De Addons voor Internet Explorer 7 en 8 worden apart samengesteld, ook .NET Framework wordt niet meegenomen in het updatepack.


1. Voorbereiden en Verzamelen
Zorg dat je beschikt over een (virtuele) test omgeving voor het installeren van Windows XP.

Elke 2e dinsdag van de maand brengt microsoft nieuwe updates uit. Verzamel alle (nieuwe) updates voor het updatepack. Mocht je niet weten welke updates je nodig hebt, installeer dan een schone windows xp in je test omgeving en bezoek windows update. Als je het updatepack bijwerkt kun je het beste windows xp met het updatepack van de vorige maand installeren.

Figuur 1 Hier zie je een greep uit de Windows Media Player 11 updates (intl duidt op internationaal)

Updates zijn beschikbaar in het Microsoft Download Centre. Via de KB* nummers kun je daar snel de betreffende update downloaden. Elke update heeft een bijbehorend “Knowledge Base-artikel” waarin staat uitgelegd welk issue precies wordt verholpen en welke bestanden daarmee gemoeid zijn.
Windows XP updates voor Nederlands hebben vaak ongeveer de volgende bestandsnaam:
WindowsXP-[KB]-[versie]-[architectuur]-NLD.exe
WindowsXP-KB932823-v3-x86-NLD.exe


2. Updates uitpakken
Nu alle updates die verwerkt / toegevoegd moeten worden verzameld zijn kunnen we ze gaan uitpakken. Hiervoor zijn verschillende manieren.

A. Start de update, zoek in de root van eén van de hardeschijven naar de tijdelijke map (vaak een getallenreeks).
B. Via commandprompt uitpakken met de parameter /extract:<doel>
c :\WindowsXP-KB987123.exe /extract:C:\temp
C. HFExtract (HotFixExtractor) gebruiken, deze is beschikbaar in de meegeleverde tools map. Sleep de betreffende update op het HFExtract icoon en de update wordt automatisch uitgepakt, de map krijgt de naam gelijk aan de bestandsnaam van de update.
HFExtract kan WindowsXP-KB*.exe bestanden verwerken maar ook .MSP, .MSU en .CAB

Figuur 2 Bestandsstructuur van een (uitgepakte) update

De map Update bevat de EULA, CATALOG-bestand, register waarden die verwerkt moeten worden en een instalaltie programma voor de update. UPDATE.exe is in elke update aanwezig en overal gelijk.
De bestanden die in de map UPDATE voor ons van belang zijn: KB*.CAT en update_sp3qfe.inf.
Het CATALOG-bestand komt terecht in de map SVCPACK van het updatepack en zorgt ervoor dat Windows XP Setup bestandsbescherming de vernieuwde bestanden accepteert tijdens de installatie.
Update_sp3qfe.inf bevat alle instructies voor update.exe om de betreffende update te kunnen installeren. Uit dit bestand halen we registery waarden en kun je ook zien waar de bestanden terecht moeten komen.

Zie voorbeeld hieronder: msctf.dll moet dus terecht komen in system32.
Dit hoef je bijna nooit te gebruiken. Namelijk vaak worden bestanden die reeds bestaan op de Windows XP cd vervangen. Windows weet dan al waar die bestanden naartoe moeten worden gekopieerd. Maar in sommige gevallen gaat het om een nieuw bestand wat nog niet aanwezig is op de Windows XP cdrom. Dan moet je dus weten waar het naartoe moet worden gekopieerd en moet je dat toevoegen aan entries.ini van het updatepack. Hier komen we later nog op terug.
Voorbeelden van dat soort bestanden zijn bijvoorbeeld Flash Player en MediaPlayer 11. Maar die zitten reeds in het updatepack dus hoef je je niet druk over te maken, wel goed om te begrijpen hoe het in elkaar steekt.

[DestinationDirs]
System32.files=11
[System32.files]
msctf.dll,SP3QFE\msctf.dll

De map SP3QFE bevat de vernieuwde bestanden. Deze komen terecht in de root van het updatepack. Het is de bedoeling dat als een bestand reeds bestaat in het updatepack je het bestand bewaard met het hoogste bestandsversie nummer. Zichtbaar in de details van het bestand.
note: bij MediaPlayer (11) updates moet je vaak de map ‘wmp11’ hebben.

3. Register-waarden verzamelen
Nu alle updates zijn uitgepakt en de bestanden reeds verplaatst zijn naar het updatepack evenals de CATALOG files terecht zijn gekomen in de submap svcpack is het tijd de juiste registery waarden te zoeken. Deze moeten allemaal worden toegevoegd aan de INF van het updatepack, SP3UpPck.inf.

Op Wincert.net is een discussie forum waar je veel informatie kunt vinden over het aanmaken van INF bestanden en hoe dat precies werkt link.

Standaard Update KB
;KB956625 comment (puntkomma ervoor)
reg1 HKLM,"%SP4UPDATES%\KB956625","Description",0,"%UPDATE% (KB956625)"
HKLM,"%SP4UPDATES%\KB956625","InstalledBy",0,"%NAME%"
HKLM,"%SP4UPDATES%\KB956625","InstalledDate",0,"%VERSION%"
HKLM,"%SP4UPDATES%\KB956625","Type",0,"Update"
HKLM,"%SP4UPDATES%\KB956625\Filelist\0","BuildCheckSum",0,"572B0"
HKLM,"%SP4UPDATES%\KB956625\Filelist\0","BuildDate",0,"Tue Aug 12 09:51:50 2008"
HKLM,"%SP4UPDATES%\KB956625\Filelist\0","FileName",0,"msctf.dll"
HKLM,"%SP4UPDATES%\KB956625\Filelist\0","Location",0,"%11%"
HKLM,"%SP4UPDATES%\KB956625\Filelist\0","Version",0,"5.1.2600.5655"
reg2 HKLM,"%HFREGPATH%\KB956625","Backup Dir",0,""
HKLM,"%HFREGPATH%\KB956625","Comments",0,"%UPDATE% (KB956625)"
HKLM,"%HFREGPATH%\KB956625","Fix Description",0,"%UPDATE% (KB956625)"
HKLM,"%HFREGPATH%\KB956625","Installed",0x10001,1
HKLM,"%HFREGPATH%\KB956625","Installed By",0,"%NAME%"
HKLM,"%HFREGPATH%\KB956625","Installed On",0,"%VERSION%"
HKLM,"%HFREGPATH%\KB956625","Service Pack",0x10001,3
HKLM,"%HFREGPATH%\KB956625","Valid",0x10001,1
HKLM,"%HFREGPATH%\KB956625\File 1","Flags",0,""
HKLM,"%HFREGPATH%\KB956625\File 1","New File",0,""
HKLM,"%HFREGPATH%\KB956625\File 1","New Link Date",0,""
HKLM,"%HFREGPATH%\KB956625\File 1","Old Link Date",0,""
reg3 HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\IMM","LoadIMM",0x10001,0

Zoals je kunt zien zijn er grofweg 3 delen; de %SP4UPDATES%, %HFREGPATH% en toevoegende waarden (onderaan). Voor het gemak noemen we dat respectievelijk Reg1, Reg2, Reg3.

Hoe krijg ik deze waardes per update?
Hiervoor zijn weer verschillende manieren.
A. Reg1 waardes kun je gemakkelijk uit het register halen van je testomgeving waar je de updates hebt geïnstalleerd via Microsoft Update. De opbouw van elke update van Reg1 en Reg2 is altijd hetzelfde. Je kunt dit gemakkelijk kopiëren en plakken verander wel de BUILDDATE\FILENAME\LOCATION\VERSION\BUILDCHECKSUM.
Installeer daarvoor de updates op het systeem en open RegEdit.exe.
Navigeer naar: HKLM,SOFTWARE\Microsoft\Updates\Windows XP\SP4 en zoek het juiste KBnummer.
note: je zult zien dat elk bestand 2x erin staat Filelist0,1 eenmaal in bijv. system32 en eenmaal in een cache folder. Die cache folder waardes kun je laten zitten, hoeven niet in INF bestand te komen.
B. Reg2 waardes kun je handmatig aanmaken door even het goede nummer erin te zetten en de rest verder te kopiëren.
C. Reg3 waardes kun je het beste uit het bestand update_sp3qfe.inf halen uit de update map van de uitgepakte hotfix. Of deze waardes spiek je uit een Engelse Updatepack. Zijn namelijk voor alle talen gelijk (buildchecksum en builddate verschilt per taal! Dus reg1 kun je niet kopiëren uit Engelse updatepacks!)
Ik heb een update die wel heel veel register waardes heeft
Correct, Timezone updates en cumulatieve Internet Explorer updates hebben altijd een hele berg register waardes. Het principe is hetzelfde. Bestudeer het bestaande inf bestand uit het updatepack om zo een beetje door te krijgen hoe dat zit. Vaak worden er %STRING% gebruikt om de regels af te korten, onderaan het bestand staat dan waar %STRING% voor staat.
De Builddate en BuildChecksum zijn ook handmatig te verkrijgen. Checksum kun je verkrijgen door gebruik te maken van ModifyPE.exe (zie map tools) en de Builddate staat in de eigenschappen van het bestand (!nog niet juiste formaat voor inf).

4. Entries.ini
Als de update geen bestanden vervangt in het updatepack of vervangt op de XP CD! (controleer dus ook of het bestand al bestaat in de i386 map) dan zul je handmatig entries moeten aanmaken in entries.ini

In al deze gevallen
[dosnet_files]
d1,bestand.exe
Als bestemming al bestaat (map nr 20 = system32)
[txtsetup_files]
bestand.exe = 100,,,,,,,20,0,0
Als bestemming nog niet bestaat
[txtsetup_dirs]
777 = system32\nognietbestaandefolder
[txtsetup_files]
bestand.exe = 100,,,,,,,777,0,0

Dit zijn de basics, bekijk ook alle andere secties van entries.ini in het bestaande SP3UpPck.inf bestand en hier op de website.

5. Uitzonderlijke gevallen
MRT.exe (malicious software removal tool).
Extract deze uit het updatebestand met bijv WinRar of 7zip. Of haal het bestand uit system32 na een bezoek van Windows Update.

INF moet de MD5 worden aangepast, haal deze uit registery.
;MRT
HKLM,"SOFTWARE\Microsoft\RemovalTools\MRT","EULA2",0x10001,1
HKLM,"SOFTWARE\Microsoft\RemovalTools\MRT","Version",0,"BDEB63D0-4CEC-4D5B-A360-FB1985418E61"
ROOTSUPD.exe
deze staat gewoon los in het updatepack (niet uitgepakt) en wordt dan geïnstalleerd.

SILVERLIGHT: is een switchless installer in de map svcpack.
FLASH: enkele bestanden en waardes in de INF
DirectX: bestanden uit de installer en waardes in entries.ini
Last edited by HJW on Wed Jan 20, 2010 10:44 am, edited 2 times in total.

User avatar
HJW
XPu Master
Posts: 622
Joined: Fri Jul 14, 2006 4:17 pm
Location: University of Technology Delft, Netherlands

Post by HJW » Wed Jan 20, 2010 10:42 am

Voor iedereen die er wat aan heeft ;)

Het bevat de basics.

Raoul90
Posts: 675
Joined: Thu Jan 17, 2008 10:29 am
Location: The Netherlands

Post by Raoul90 » Tue Jan 26, 2010 11:52 am

Hi HJW,

Even een vraag over stap 4, entries.ini.
KB955759:
aclayers.dll

KB970430:
http.sys
httpapi.dll
strmfilt.dll

KB973904:
html32.cnv
msconv97.dll
mswrd6.wpc
mswrd8.wpc
mswrd632.wpc
mswrd832.cnv
write.wpc
write32.wpc

KB974318:
raschap.dll
rastls.dll

KB974392:
oakley.dll


Dat zijn de nieuwe bestanden bij het updatepack waar ik mee bezig ben, moet deze ook allemaal aan de entries.ini toegevoegd worden? Want ze vervangen allemaal niks in de i386 map, en hoe kan ik zien waar deze bestanden heen moeten?



Andere vraag:
KB976098-v2 is zon timezone update, ik heb de hfregpath en sp4updatespath geripped uit het register:
;KB976098
HKLM,"%SP4UPDATES%\KB976098-v2","Description",0x0,"%UPDATE% (KB976098-v2)"
HKLM,"%SP4UPDATES%\KB976098-v2","InstalledDate",0x0,"1/26/2010"
HKLM,"%SP4UPDATES%\KB976098-v2","InstalledBy",0x0,"test"
HKLM,"%SP4UPDATES%\KB976098-v2","Type",0x0,"Update"
HKLM,"%SP4UPDATES%\KB976098-v2\Filelist",,0x10
HKLM,"%SP4UPDATES%\KB976098-v2\Filelist\0","FileName",0x0,"tzchange.exe"
HKLM,"%SP4UPDATES%\KB976098-v2\Filelist\0","Version",0x0,"5.1.2600.5897"
HKLM,"%SP4UPDATES%\KB976098-v2\Filelist\0","BuildDate",0x0,"Wed Oct 28 16:07:14 2009"
HKLM,"%SP4UPDATES%\KB976098-v2\Filelist\0","BuildCheckSum",0x0,"112a5"
HKLM,"%SP4UPDATES%\KB976098-v2\Filelist\0","Location",0x0,"%11%"
HKLM,"%HFREGPATH%\KB976098-v2","Installed",0x10001,01,00,00,00
HKLM,"%HFREGPATH%\KB976098-v2","Comments",0x0,"%UPDATE% (KB976098-v2)"
HKLM,"%HFREGPATH%\KB976098-v2","Backup Dir",0x0
HKLM,"%HFREGPATH%\KB976098-v2","Fix Description",0x0,"%UPDATE% (KB976098-v2)"
HKLM,"%HFREGPATH%\KB976098-v2","Installed By",0x0
HKLM,"%HFREGPATH%\KB976098-v2","Installed On",0x0
HKLM,"%HFREGPATH%\KB976098-v2","Service Pack",0x10001,04,00,00,00
HKLM,"%HFREGPATH%\KB976098-v2","Valid",0x10001,01,00,00,00
HKLM,"%HFREGPATH%\KB976098-v2\File 1","Flags",0x0
HKLM,"%HFREGPATH%\KB976098-v2\File 1","New File",0x0
HKLM,"%HFREGPATH%\KB976098-v2\File 1","New Link Date",0x0
HKLM,"%HFREGPATH%\KB976098-v2\File 1","Old Link Date",0x0
Nou zit ik net in dat update.inf te kijken en ik zie heel veel "[Product.Add.Reg]" welke ik ook al eens heb zien staan in de inf van het updatepack zelf, moet ik deze ook toevoegen aan de inf van het updatepack? En hoe precies?


En:
Hoe zit het precies met MRT?
Aangezien in het updatepack van 2.2.8 een mrt.exe van 8.5kb zit en wanneer ik update KB890830 extract, dan is de mrt.exe zon 29mb?

User avatar
HJW
XPu Master
Posts: 622
Joined: Fri Jul 14, 2006 4:17 pm
Location: University of Technology Delft, Netherlands

Post by HJW » Tue Jan 26, 2010 6:43 pm

@bestanden in entries.ini
Daarvoor moet je kijken in Update.inf daar zie je onder bepaalde secties wel welke mappen die bestanden moeten komen. Moet je ff gehele update.inf napluizen.
Dan kun je dat niet zomaar overnemen maar moet je dus onder TXTSETUP oid gebruik maken van die codes ala: bestand.exe = 20,,,,,0 oid.
tip(ook hiervoor kun je spieken bij engelse packs)

TimeZone adviseer ik je die andere regwaardes te halen uit engelse updatepack. Wat jij hebt gestripped zijn de enige waardes die verschillen t.o.v. andere talen. Dus die erin stoppen en de rest is gelijk aan engelse.

MRT van 8.5kb was een replacement (mrt.exe gebruik je nooit en neemt veel ruimte in). Als je namelijk enkel die registery waarde toevoegd stopt Windows Update ook met zeuren. Dus dat is een keuze.

Raoul90
Posts: 675
Joined: Thu Jan 17, 2008 10:29 am
Location: The Netherlands

Post by Raoul90 » Wed Jan 27, 2010 5:06 am

HJW wrote:@bestanden in entries.ini
Daarvoor moet je kijken in Update.inf daar zie je onder bepaalde secties wel welke mappen die bestanden moeten komen. Moet je ff gehele update.inf napluizen.
Dan kun je dat niet zomaar overnemen maar moet je dus onder TXTSETUP oid gebruik maken van die codes ala: bestand.exe = 20,,,,,0 oid.
tip(ook hiervoor kun je spieken bij engelse packs)

TimeZone adviseer ik je die andere regwaardes te halen uit engelse updatepack. Wat jij hebt gestripped zijn de enige waardes die verschillen t.o.v. andere talen. Dus die erin stoppen en de rest is gelijk aan engelse.

MRT van 8.5kb was een replacement (mrt.exe gebruik je nooit en neemt veel ruimte in). Als je namelijk enkel die registery waarde toevoegd stopt Windows Update ook met zeuren. Dus dat is een keuze.

Thanks HJW, weer een hoop verduidelijkt. :)

B-Boy
Posts: 173
Joined: Mon Nov 03, 2008 8:27 am

Post by B-Boy » Wed Feb 03, 2010 8:32 am

Thanx voor deze manual. In NL leest toch net iets prettiger.

Raoul90
Posts: 675
Joined: Thu Jan 17, 2008 10:29 am
Location: The Netherlands

Post by Raoul90 » Thu Feb 11, 2010 5:27 pm

Deze maand:
- Adobe Flash Player 10.0.45.2
- DirectX 9.0c February 2010

Nou loop ik daarmee een beetje vast.
Hoe moet ik precies de nieuwste flash erin krijgen? Ik heb flash al ge-extract, maar dan krijg ik maar 1 bestand wat overeenkomt met het updatepack. Ik heb het nu opgelost door een switchless installer van flash @t13 aanteroepen.


DirectX, ik heb de full package gedownload en ge-extract, vervolgens de february2010 x86 archives gepakt en ge-extract, vervolgens de .dll verzameld en gekopierd naar updatepack, daarna dit toegevoegd aan de ini:
d1,X3DAudio1_7.dll
d1,xactengine3_6.dll
d1,XAPOFX1_4.dll
d1,XAudio2_6.dll
(alle .dll's die aanwezig waren in de february2010 updates).

User avatar
Stefhan
Posts: 78
Joined: Sun Feb 18, 2007 10:16 pm
Location: Groningen (NL)

Post by Stefhan » Sun Feb 28, 2010 7:32 pm

De bestanden zijn goed alleen de implementatie werkt nog niet.

Deze moeten hernoemt worden omdat ze niet voldoen aan de 8.3 bestandsnaam,
d1,X3DAudio1_7.dll
d1,xactengine3_6.dll
d1,XAPOFX1_4.dll
d1,XAudio2_6.dll


In entries.ini moet je (vaak) op 3 plekken bestanden toevoegen. Onderstaande zou moeten werken:

[dosnet_files] #1 Kopieert de bestanden naar de hardeschijf, (moet aan 8.3 bestandsnaam voldoen)
d1,x3daud17.dll
d1,xact36.dll
d1,xact36.dll
d1,xapofx14.dll

[txtsetup_files] #2 Installeert (en hernoemd) de bestanden naar de uiteindelijke locatie.
x3daud17.dll = 100,,,,,,,2,0,0,X3DAudio1_7.dll
xaud26.dll = 100,,,,,,,2,0,0,XAudio2_6.dll
xact36.dll = 100,,,,,,,2,0,0,xactengine3_6.dll
xapofx14.dll = 100,,,,,,,2,0,0,XAPOFX1_4.dll

[i386_compress] #3 Laat RVM weten dat dit bestand gecomprimeert kan worden, zorgt voor een compacte installatie.
rvmtemp\extracted\x3daud17.dll
rvmtemp\extracted\xaud26.dll
rvmtemp\extracted\xact36.dll
rvmtemp\extracted\xapofx14.dll

User avatar
Stefhan
Posts: 78
Joined: Sun Feb 18, 2007 10:16 pm
Location: Groningen (NL)

Post by Stefhan » Sun Feb 28, 2010 8:06 pm

Je hebt de Flash activeX en de flash plugin, beide zitten in deze pack.
beide moet je uitpakken met uniextract of 7zip.

voor activeX krijg je dan Flash10e.ocx en FlashUtil10e.exe
deze hernoem je naar Flash10.ocx en flashutl.exe (8.3 bestandsnaam)

voor de plugin krijg je dan flashplayer.xpt en NPSWF32.dll (NPSWF32_FlashUtil.exe is hetzelfde als FlashUtil10e.exe dus niet nodig)
deze hernoem je naar flashp.xpt en flash10p.dll

Deze 4 bestanden kun je dan vervangen door de nieuwe.


Bijwerken van entries.ini : (c -> e)
flash10.ocx = 100,,,,,,,252,0,0,Flash10e.ocx
flashutl.exe = 100,,,,,,,252,0,0,FlashUtil10e.exe


Bijwerken SP3UpPck.inf:
Onder: [Flash.AddReg]
de bestandnamen moeten bijgewerkt worden; Flash10e.ocx en FlashUtil10e.exe.
Waarschijnlijk is er verder niks veranderd maar voor de zekerheid kun je een installatie monitoren of even bij de buren kijken.

Onder: [Strings]
FLASHVERSION="10.0.45.2"

Raoul90
Posts: 675
Joined: Thu Jan 17, 2008 10:29 am
Location: The Netherlands

Post by Raoul90 » Mon Mar 01, 2010 4:33 am

Thanks Stefhan, heb het aangepast! :)

User avatar
UtCollector
Posts: 464
Joined: Sun Apr 09, 2006 8:31 pm
Contact:

Sticky

Post by UtCollector » Thu Jan 05, 2012 4:22 pm

Can this be a sticky? :D :?:
I might need this info for future us :P
I did save the page but still :wink:

Locked