Jump to content

Welcome to MSFN Forum
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account



Photo

This is how you make your own custom SP?


  • Please log in to reply
19 replies to this topic

#1
SammyDawn

SammyDawn

    Junior

  • Member
  • Pip
  • 59 posts
  • Joined 08-July 06
How to make a custom SP like gurgemeyer did?
Revision 1.2.09.08.2006

I know how he made SP5. I used the same method but now I figured it out.
  • You take out the contents of SP4, or SP5 by extracting it. You can use 7Zip to extract it by right clicking then extract. It really works to extract exes with 7-Zip but only certain exes can extract with 7zip.
  • you edit the \update\update.inf to add more contents
  • You add, or replace the updated files into the extracted Service Pack layout.
  • Then once your done you don't need a special SP installer. All you have to have is a installer that will extract the files into a certian location, then run the update.exe file.
That's how you make custom service packs.

How to integrate the custom SP:

If you wanted to integrate it but don't have the /integrate option just install the files into a custom folder then just use the update\update.exe -s:folder_of_Custom_Service_Pack.

How to integrate hotfixes, updates, and maybe even updates of WMP:

Now to integrate hotfixes, and regular non-security updates what you need to do is replace the files like I told you, and add any files that are included in the update, then you take certain contents out of the hotfixes update.inf, then add it to your custom SPs update.inf.

Some examples on what to do to directly integrate all updates in your custom SP:
no svcpack installs necessary

say for example we wanted to integrate a Directx hotfix if we already integrated directx directly.

Windows2000-KB904706-DX9-x86-ENU.exe(You must extract the exe file using 7-Zip)//update/update.inf

update.inf

then you cut, or copy the contents in [Copy.system32] such as quartz.dll then paste it in your custom SP's update.inf under [Copy.system32] with the other ???.dll, or .exe.

then you cut, or copy the contents in [Copy.dllcache] such as quartz.dll then paste it in your custom SP's update.inf under [Copy.dllcache] with the other ???.dll, or .exe.

then you cut, or copy the contents in [SourceDisksFiles] such as quartz.dll=1 then paste it in your custom SP's update.inf under [SourceDisksFiles] with the other ???.dll, or .exe=? (exm. 1).

then if [Test.FileVer.Section] has this content:

GreatOrEqualOp = CheckFilever, System32.Files, quartz.dll , >= , 6.5.1.900
Display_String=%DispStrPreReq%

then I recommend you put it in the [Test.FileVer.Section] so your file can be updated in the registry. That way Windows Update won't ask you to install the update you already integrated. A good test is WindizUpdate because you don't have to have WGA just to test it.

Also always integrate the /update/?????????.CAT, or .cat then place them in [Extract SP]/svcpack/place .cat's here. Then open your svcpack.inf and put your extra .cat file with the other .cat file entrees.

After your done do the update.exe -s:Drive:\path\to\your\Copied\Operating\System\Files\ (also that's where your i386 is also too just so you know).

You can even pack it in a installer, or in a Inno Setup file then have it ready for download on MSFN. You know post the download mirrors.

One more thing is you need to take out the contents out of update.ver and replace the existing entrees in the SP5s update.ver.

////////////////////////////////
Now please make this a sticky. This is very useful information. I found out this method. Now I know what Gurgelmeyer knows. You could even use Inno Setup.

Edited by SammyDawn, 08 September 2006 - 06:59 AM.



How to remove advertisement from MSFN

#2
hyipo

hyipo

    Junior

  • Member
  • Pip
  • 70 posts
  • Joined 10-June 06
Sammydawn there is one problem.

What about updating the update.ver.

I notices the hashes, and some file sizes are different from the hotfixes update.ver and the one in SP5. Just to let you know.

#3
SammyDawn

SammyDawn

    Junior

  • Member
  • Pip
  • 59 posts
  • Joined 08-July 06
Inserted that information. Thank you Hyipo for telling me that. I will have to study more into it to get more information to paste into my little tutorial.

Edited by SammyDawn, 08 September 2006 - 06:58 AM.


#4
os2fan2

os2fan2

    Advanced Member

  • Member
  • PipPipPip
  • 421 posts
  • Joined 09-September 04
The instructions given here work just fine for Windows NT 4.0. I used something similar to slipstream the additional fixpacks into SP6a. You can even add registry hacks to HKLM this way too.

Windows 95, Windows NT and Windows 3.1 were written when microsoft encouraged that sort of thing. I learnt the particular secrets from the Windows 3.1 (DOS version) resource kit.

By the time Windows 98, 2000, etc came to town, Microsoft was insisting that IE was part of the OS, and made rather stiff process to prevent the install files and fixpacks from being modified. We see this with experiments like that Windows File protection thing, and a few other sorts of things, such as CAT files.

The actual hack of SP6a to SP6b took me something like 3 to 4 hours. You end up with a single exe file that has all of the fix-packs and quickfixes rolled into one.

This in turn becomes the basis of the J386 package, which is the slipstream of SP6b into the I386 files. This in itself prevents you having to reinstall the service packs and later fixes every time you change the system.

However, you will find that with NT5, there is all this crap about digital signatures based on CRC or MD5 signatures, which means you just can't replace a file with another of the same name.

#5
SammyDawn

SammyDawn

    Junior

  • Member
  • Pip
  • 59 posts
  • Joined 08-July 06

The instructions given here work just fine for Windows NT 4.0. I used something similar to slipstream the additional fixpacks into SP6a. You can even add registry hacks to HKLM this way too.

Windows 95, Windows NT and Windows 3.1 were written when microsoft encouraged that sort of thing. I learnt the particular secrets from the Windows 3.1 (DOS version) resource kit.

By the time Windows 98, 2000, etc came to town, Microsoft was insisting that IE was part of the OS, and made rather stiff process to prevent the install files and fixpacks from being modified. We see this with experiments like that Windows File protection thing, and a few other sorts of things, such as CAT files.

The actual hack of SP6a to SP6b took me something like 3 to 4 hours. You end up with a single exe file that has all of the fix-packs and quickfixes rolled into one.

This in turn becomes the basis of the J386 package, which is the slipstream of SP6b into the I386 files. This in itself prevents you having to reinstall the service packs and later fixes every time you change the system.

However, you will find that with NT5, there is all this crap about digital signatures based on CRC or MD5 signatures, which means you just can't replace a file with another of the same name.


How did you integrate SP6 into Windows NT?
I always wanted to do that. Even someone begged nLite to allow NT and I think a few others also.

I need to know because I have Windows NT Laying around and don't know how to patch it. Besides since it no longer gets security patches support it will be easy to patch Windows NT.

#6
-I-

-I-

    win2k Freak

  • Member
  • PipPipPipPip
  • 639 posts
  • Joined 23-November 04
yeah tell me to i have a version of NT4.0 server layin around in the dust would love to use it as file/print/dns/AD server for my home network. -
[message of the .....whatever]
Dont be a luser*!*@msnf.org: Ask Good Questions. , read the microsoft guide, google-it-yourself
Do NOT use pirated software, there is free opensource software for allmost every task you seak!
Where is the "any key" ???

#7
os2fan2

os2fan2

    Advanced Member

  • Member
  • PipPipPip
  • 421 posts
  • Joined 09-September 04
At the moment, I have not actually slipstreamed in the NT5 sense. What i did do is to create a single SP to make up all of the released fixes for NT.

This is the working file for what files to add to NT4, based on a number of references i found in different places. Basically, you have alternate source files from the Nt4 distribution, or the SP6a stuff (or in 2 cases, Win2k or WinXP).

I used the same code to test different combinations of this package. This is the one that worked (ie ignore H and h).

You should not at this point, integrate the NTLDR and NTDETECT.COM from NT2k or XP here. Use SP6a or SP6hf to do this.

extproc rxloop.rex
goto :end

http://smallvoid.com/tweak/winnt/build_cd.html#WINNT4_SLIPSTREAM

The slipstreaming of service packs is not available with WinNT4, as it was first introduced with Win2k. But it is still possible to do some tricks:
Update these files on the install-image with files from the service pack (SP4+), as it will enable AGP support, remove 8gb limitation etc.

$data $fsx		Source file
A,atapi.sys,	  atapi.sys
B,bootfix.bin,
B,bootsect.w40,
H,fastfat.sys,	fastfat.sys
h,gdi32.dll,	  gdi32.dl_
h,hal.dll,		hal.dl_
H,hal486c.dll,	hal486c.dll
H,halapic.dll,	halapic.dll
h,halast.dll,	 halast.dl_
h,halcbus.dll,	halcbus.dl_
h,halcbusm.dll,   halcbusm.dl_
H,halmca.dll,	 halmca.dll
H,halmps.dll,	 halmps.dll
H,halmpsm.dll,	halmpsm.dll
H,halncr.dll,	 halncr.dll
h,haloli.dll,	 haloli.dl_
h,halsp.dll,	  halsp.dl_
h,halwyse7.dll,   halwyse7.dl_
h,kernel32.dll,   kernel32.dl_
h,ndis.sys,	   ndis.sy_
A,ntdetect.com,   ntdetect.com
H,ntdll.dll,	  ntdll.dll
H,ntkrnlmp.exe,   ntkrnlmp.exe
A,ntldr,		  ntldr
H,ntoskrnl.exe,   ntoskrnl.exe
S,setupdd.sys,	setupdd.sys
C,setupp.ini,	 setupp.ini
h,tcpcfg.dll,	 tcpcfg.dl_
h,user32.dll,	 user32.dl_
h,win32k.sys,	 win32k.sy_
S,winnt32.exe,	winnt32.exe
h,winsrv.dll,	 winsrv.dl_
$end

Fixes for
  A  atapi fix   From SP6a
  B  bootfix   From Windows 2k
  C  corporate fix  This is a well known avoid serial nr fix
  H  hal fix.	 From SP6a
  S  setup sp4 fix  You need sp4exti.exe for this.

$new _fixwin.cmd
$loop $
compress -r -zq7 $f ..
$loop $abcs
$loop $
copy $f ..
$loop $ABCS
$end




$a
Install the service pack unattended (SP4+)
Place the service-pack file in this directory:
X:\i386\$OEM$\SP4
Create a text file CMDLINES.TXT in this directory:
X:\i386\$OEM$
Open the text file CMDLINES.TXT and add these lines:
[Commands]
".\sp4\sp4i386.exe -z -u"

More Info MS KB Q168814
Make a shared directory with the original WinNT4 install files and extract the contents of the service pack to this directory. Then use the shared directory when adding components (after install), so you don't have to apply the service pack for every change.
Note it is possible to create a bootable WinNT4 CD by using the boot sector from Win2k.


These files are extracted from later copies of Windows, and added to
the package.

   1.  bootfix.bin	Default boot to hard disk.
   2.  bootsect.dat   Win2k boot loader

:end

Windows NT thus prepared will install onto modern machines, but the 8G requirement still applies for the boot partition. You should not access other partitions until you install SP6a/b.

#8
os2fan2

os2fan2

    Advanced Member

  • Member
  • PipPipPip
  • 421 posts
  • Joined 09-September 04
The next step is to build "Revised Service Pack 6a".

You need to get hold of the files. MDGX http://www.mdgx.com/ has a good list (look for NT4 fixes), and basically download the lot (or what you are missing). You don't have to worry about whether they're workstation or server, since that is a feature of hotfix.exe, and we're not using that.

Another good reference is: http://nt4ref.zcm.com.au/patch.htm

Once you got what you need, create directories for each fixpack, eg for Q838138, create a directory with just the number 838138. This provides the essential sequencing of fixpacks, as some replace the others. Create a directory 000006 and unpack SP6a into that.

;  Rem  This is the SI stuff for 299444.inf.
;	   Add this into UPDATE.INF. and then copy the 299444 files over the
;	   SP6A files.
; ProcessesToRun does not exist in UPDATE.EXE, so we might need to use a
; service pack to add this into the system.  We can always gut something
; like 299444\hotfix.inf to get this file, as well as deliver the XP
; boot files, etc.


;  quartz.dll from 819696
;  itircl.dll from 825119
;  ProductAddReg, msan1.dll and mf3216 from 835732
;  psxss.exe  from 841872
;  841356 contains updated shell32.dll, ntlanman.dll and grpconv.exe
;	but these are also in the SRP.  Just have to figure which ones to use!
;  the nw and ad files are NT5 vers, while the OS vers are NT4.
;

;  You need to include these items into SP6a's update\update.inf.

[Product.Add.Reg]
;   Stuff from 835732

[ProductInstall.ReplaceFilesIfExist]

	CopyFiles=Netmon.files
	CopyFiles=Netmon.Parsers.files
	CopyFiles=FPSE.files
	CopyFiles=PhoneBook.files


[DestinationDirs]

	Netmon.files=11,"netmon"	  ; %windir%\system32\netmon
	Netmon.Parsers.files=11,"netmon\parsers"	  ; %windir%\system32\netmon\parsers
	FPSE.files=65620,"Microsoft Shared\Web Server Extensions\40\bin"


[Drivers.files]

	floppy.sys
	netdtect.sys
	parport.sys


[MustReplace.System32.files]

	quartz.dll

[System32.files]

	ppp.dll,,,8
	tcpip.dll,,,8
	winhlp32.exe,winhstb.exe,,8
	browser.dll,browser2.dll,,8
	LMREPL.EXE,,,8
	mprdim.dll,,,8
	riched32.dll,,,8
	riched20.dll,,,8
	itircl.dll
	mf3216.dll
	psxss.exe


[CopyAlways.System32.files]

	msasn1.dll


[CopyAlways.Convert.files]

	html32.cnv
; Removed the =1, which causes an error


[CopyAlways.IIS.files]
	rmiisupd.cmd,,,8

; new section
[FPSE.files]
	fp4autl.dll

; new section
[Netmon.files]

	nmapi.dll
	PARSER.INI

; new section
[Netmon.Parsers.files]

	atalk.dll
	bone.dll
	browser.dll
	ipx.dll
	ncp.dll
	netbios.dll
	ppp.dll
	smb.dll
	SNMP.dll
	tcpip.dll
	Trail.dll
	VINES.dll

[PhoneBook.files]

	pbserver.dll


[SourceDisksFiles]

	PARSER.INI=1
	nmapi.dll=1
	atalk.dll=1
	bone.dll=1
	ipx.dll=1
	ncp.dll=1
	netbios.dll=1
	ppp.dll=1
	smb.dll=1
	SNMP.dll=1
	tcpip.dll=1
	Trail.dll=1
	VINES.dll=1
	rmiisupd.cmd=1
;   REGACL40.EXE=1
;   crlupd.exe=1
;   schmupd.exe=1
	floppy.sys=1
	netdtect.sys=1
	parport.sys=1
	fp4Autl.dll=1
	lmrepl.exe=1
	mprdim.dll=1
	riched32.dll=1
	riched20.dll=1
	rmiisupd.cmd=1
	winhstb.exe=1
	quartz.dll=1
	itircl.dll=1
	mf3216.dll=1
	msasn1.dll=1
	psxss.exe=1
	html32.cnv=1

If you don't install the referenced packages that add the five or so files listed above, you should remove references from here too. Note there is a great section of [Product.Add.Reg] from 835732. You need to copy most of this section (except the hotfix stuff), into here too.

Then, copy files other than hotfix.inf, hotfix.exe into the SP6a directory, replacing existing files.

This becomes SP6B

EDIT:

Corrected the inf file (see [CopyAlways.Convert.Files] section). W

Edited by os2fan2, 04 October 2006 - 01:45 AM.


#9
os2fan2

os2fan2

    Advanced Member

  • Member
  • PipPipPip
  • 421 posts
  • Joined 09-September 04
You then need a hotfix pack.

This is so we can run something like [ProcessesToRun], because the update does not do this. You can use all sorts of interesting things here, too. You basically gut 299444.inf of file information, except for these three sections. Leave all the sections in place.

[ProcessesToRun]

	"%systemroot%\system32\regacl40.exe"
	"%systemroot%\system32\schmupd.exe /n aspkeepsessionidsecure /f 1 /i 7043 /p 7043 /m 1 /g 101 /d 0 /c iiswebservice,iiswebserver,iiswebdirectory,iiswebvirtualdir"
	"%systemroot%\system32\crlupd.exe"

[CopyAlways.System32.files]

	REGACL40.EXE
	crlupd.exe
	schmupd.exe

[SourceDisksFiles]

	REGACL40.EXE=1
	crlupd.exe=1
	schmupd.exe=1


You go ahead, and add extra fixes, including entries to HKLM.

[Product.Add.Reg]
; Leave the hot fix stuff here!

; This is a global kill parseautoexec for dual boot systems.
	HKLM,SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon,"ParseAutoexec","0"

[System32.files]
	QBASIC.EXE
	QBASIC.HLP
	QBEDIT.COM
	HELP.COM
	HELP.HLP

[Osldr.files]
	NTLDR
	NTDETECT.COM


[SourceDisksFiles]

	NTLDR=1
	NtDetect.com=1
	qbasic.exe=1
	qbasic.hlp=1
	qbedit.com=1
	help.com=1
	help.hlp=1

The J386 project then is copying all of the Sp6b and SP6bhf files into a copy of the i386 directory.

This becomes j386. You then point the installation to this, and you don't need to do any thing about reinstalling after updates etc. The latest patch becomes the update.

The next step is to rebuild a batch file that will expand -r *.* to some temp directory, and unpack some zip file, to become the temp dir for the fixpack install. The same batch file can be used to remove this stuff, or you can use something else to do this.

I tried using the compressed files on the cdrom (ie have the sp6a files already compressed, and the update directory as a subdirectory of j386), but this does not work :(

#10
rcll

rcll

    Newbie

  • Member
  • 27 posts
  • Joined 23-January 06
A script to automate slipstreaming a given directory full of hotfixes into the win2k iso would win the day

And i think Gurgelmeyers packs are more than just security hotfixes, think he puts all the msdn stuff also, I hope he is still making next version

I see 84 hotfixes for win2ksp4 on http://www.microsoft...ty/current.aspx

September update had no critical hotfix for win2k, only msoffice had 1
http://www.microsoft...n/ms06-sep.mspx

#11
os2fan2

os2fan2

    Advanced Member

  • Member
  • PipPipPip
  • 421 posts
  • Joined 09-September 04
The SP5 files install by straight copy, as implied in the readme file. This means that they can be included in some SP6 build without error.

We might be able to install defectx 8.1 as well, by the same method. If what Fred Vorck did with defectx 9c in his hfslip package is anything to go by, we might be able to install defectx 8,1 as a smaller package than the defectx already there. This could be done as a fixpack, so users have choice of installing defectx 5 or defectx 8.1 at install.

I have two different defectx control panels (5 and 9), the former says the file versions in the defectx 5, and the win2k system (it has 9c), are vers 5, while the SP6 files are vers 4.06.1381. I have not managed to download defectx 8 as yet, so i leave this alone to this while.

W

#12
-I-

-I-

    win2k Freak

  • Member
  • PipPipPipPip
  • 639 posts
  • Joined 23-November 04
please call any pease of software by its name. instead of windoze linutz OSuX and childish stuff like that....
[message of the .....whatever]
Dont be a luser*!*@msnf.org: Ask Good Questions. , read the microsoft guide, google-it-yourself
Do NOT use pirated software, there is free opensource software for allmost every task you seak!
Where is the "any key" ???

#13
thuun derboy

thuun derboy

    Member

  • Member
  • PipPip
  • 111 posts
  • Joined 06-March 05
easy there mate. :)

MicroSawft uses a special sfx cab tool to make their service packs and one's best bet is to acquire a copy.
Not so imposible, just have to know someone as it's not for dist. This is discussed on the 1st page of the unoff. SP5 thread.
I seriously doubt this project was completed by deflating an archive and repacking it, I just can't see it, MD5 checks and all, but hey, I've been wrong before.
Anyway, I do feel the point about the bugs in the pack, too bad eh?, but a def A+ for effort and oem mock-up.

Edited by thuun derboy, 26 September 2006 - 10:57 PM.


#14
os2fan2

os2fan2

    Advanced Member

  • Member
  • PipPipPip
  • 421 posts
  • Joined 09-September 04
You can quite easily unpack a service pack, and uninstall it from there. That is, regardless of whether you install SP6B from an archive packed or unpacked, the result is still the same.

Windows NT4 does not have this checksum nonsence. You can quite easily stick whatever you want into any service pack, or even the base install. The name comes from an installed version of 6B, complete with the rollup of later stuff.

One should note that NT4 is 1996 vintage. Microsoft had from then gone from pleading that IE was a loose tie-in to actual integration so hard that it is impossible to defang it in the manner of Win31/95/NT.

Still, i learnt how to do Windows 3.1, and Windows NT (which are essentially defanged already), and then you have to forrage around for tools to do Win2k and later.

The Windows NT4 package does work. I made one silly mistake in the setup files, but this is fixed up for the big one. It has directx 5 installed, the plan is to put 8.1 or even 9.0c (gosh) :yes:

Still. It is nice.

#15
saugatak

saugatak

    Advanced Member

  • Member
  • PipPipPip
  • 300 posts
  • Joined 15-July 05
Wendy, you are a goddess, amazing work!
Posted Image

#16
neo

neo

    Microsoft MVP - Windows Expert Consumer

  • Member
  • PipPipPipPipPipPip
  • 1,251 posts
  • Joined 31-March 06
  • OS:Windows 7 x64
  • Country: Country Flag
can this possible to change this string by custom Service Pack
like "Service Pack 3" in system properties and
"Version 5.1(Bulid 2600.xxxx_yyy_zzz.123456-ABCE : Service Pack 3)" in about windows

Attached File  untitled.JPG   113.44KB   83 downloads :blink:

//neo_matrix.rs@indiatimes.com//

#17
zulebg

zulebg
  • Member
  • 4 posts
  • Joined 14-November 06
SammyDawn,

I think we can continue where G. stopped. We can update the USP5.1, you, me, all of us !

I just didn't quite get yours How-to from the beginning, please can you be more specific.

I worked around with USP51, SP4, Win2K SP4 cd, I've extracted them all, found dosnet.inf files etc, I've read HFDeploy.htm from MS, all the svcpack info ... but I didn't catch you ...

I think Gurgel updated dosnet.inf file(s) in SP4\i386\ip folder and respectively in ...\iw ...\is ...\ia folders

they stand for win2k pro, win2k server, win2k advanced server, id is for win2k datacenter server.

Please, give me detailed step-by-step how-to on hotfix integration and custom sp creation, cause hotfixes are different inside, there is no [Test.FileVer.Section] in some KBs etc...

I just need to manage it, after that, I'm will to slipstream ALL post-sp4 hotfixes for Win 2000 Pro into pure SP4 and publish it as latest USP 5.x


tanx in advance

#18
Kelsenellenelvian

Kelsenellenelvian

    WPI Guru

  • Developer
  • 8,828 posts
  • Joined 18-September 03
  • OS:Windows 7 x64
  • Country: Country Flag
OK Here is the deal! (If anyone even looks here anymore.) Myself and another person REALLY want to continue Hotstream and have all of the files and knowledge to do it BUT we the the stub and compiler for hotstream. I know Gurgle shared it with a coupla people and this is all we need to finish up with our first test build! This is not a joke we are very serious and have already worked out all out we just need the files.

On the board for the first release:

WMP9 & DX9 (maybe DX9 kinda hard) and of course all updates to date.

#19
tomasz86

tomasz86

    www.windows2000.tk

  • Member
  • PipPipPipPipPipPipPipPip
  • 2,520 posts
  • Joined 27-November 10
  • OS:XP Pro x86
  • Country: Country Flag
This guide lacks the most important aspect of a Service Pack, i.e. how to make the new files and registry entries integrate when using the /integrate switch. Adding new files to all these [*.Files] sections will only make them install in a running system but for the /integrate switch you've got different sections like [ServicePack.Files] and similar. You also must add the new registry entries to all the hive*.inf files and also modify (as already mentioned by zulebg) dosnet.inf and txtsetup.sif.

I hope I'll manage to write such a guide myself later on.
Posted Image
Unofficial Service Pack 5.2 for MS Windows 2000 <- use this topic if you need help with UURollup, Update Rollup 2 and other unofficial packages

#20
os2fan2

os2fan2

    Advanced Member

  • Member
  • PipPipPip
  • 421 posts
  • Joined 09-September 04
In windows 3 and 4, the registry is stored in a prototype, which can be loaded into registry, So there is a file in there that becomes the default, system, software keys.

This is already known, the plan is to write a rexx command processor to handle this, something like

  cdd [key]
   dword name=value
   expand name=value
   etc





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users