March 6, I am pretty much done.
Bearwindows did a LOT of work already -- but all of this comes before doing his process.
Thanks to Nateklomp for his links, which I grabbed from his post -- much appreciated.
1. We’re going to assume the use of NT Server.
2. Get the Service Pack and hotfixes:
CODE
Service Pack 6a
q299444, the Post SP6a Rollup
q243649.exe
q304158i.exe
Q314147i.exe
Q318138i.exe
Q320206i.exe
Q326830i.exe
q329115i.exe
Q810833i.EXE
Q815021i.EXE
Q817606i.EXE
q819696i.exe
WindowsNT4Server-kb823182-x86-enu.exe
WindowsNT4Server-KB823803-x86-ENU.EXE
WindowsNT4Server-KB824105-x86-ENU.EXE
WindowsNT4Server-kb824141-x86-enu.exe
WindowsNT4Server-kb824146-x86-enu.exe
WindowsNT4Server-kb825119-x86-enu.exe
WindowsNT4Server-KB828035-x86-ENU.EXE
WindowsNT4Server-KB828741-x86-ENU.EXE
WindowsNT4Server-KB835732-x86-ENU.EXE
WindowsNT4Server-KB839645-x86-ENU.exe
WindowsNT4Server-KB841533-x86-ENU.exe
WindowsNT4Server-KB841872-x86-ENU.exe
WindowsNT4Server-KB870763-x86-ENU.exe
WindowsNT4Server-KB873339-x86-ENU.exe
WindowsNT4Server-KB873350-x86-ENU.exe
windowsnt4server-kb885249-x86-enu.exe
WindowsNT4Server-KB885834-x86-ENU.exe
WindowsNT4Server-KB885835-x86-ENU.exe
WindowsNT4Server-KB885836-x86-ENU.exe
WindowsNT4Server-KB891711-x86-ENU.exe
q243649 is supposedly contained in q299444, the Rollup, but you need one file from it.
Random note, because you might need to know this:
The last publicly available versions of NTKRNLMP.EXE and NTOSKRNL.EXE are both version 4.0.1381.7268 from 11-Oct-2004 and are found in hotfix 885835, which is listed above. I am not aware of a more recent version, including nonpublic fixes.
3. Get some Microsoft libraries and add-ons:
CODE
Windows Installer 2.0 Redistributable
OLE Automation (we will use OLEAUT32.DLL)
MSVCRT.EXE
MFC and OLE DLLs
Get the InstMsiW package for Windows NT (requires validation! LOL!). It won't actually install in NT thanks to Microsoft being clever, but it doesn't matter, we're integrating it. Use something like WinRAR to extract the contents. Rename sdbapiU.dll to sdbapi.dll (delete the 'U').
Get the CAB SDK . Extract the files into a folder called CABSDK.
C++ runtimes. Rename atlu.dll to atl.dll and set it aside, eventually it will go directly into the SP6a folder.
We will NOT be slipstreaming the "Patched EXPLORER.EXE for 256 color display." Why? Because it locks the system up on install! Also, TAPI 2.1 is included as of SP4, but download it, extract tcmapp.exe, MAKECAB it, and put it aside. It won't replace anything. You don't need any other files from the TAPI 2.1 since they were all made obsolete by hotfixes.
4. Get the following files from Windows 2000:
CODE
cabarc.exe
cabbench.exe
cabinet.dll
cabview.dll
joystick.dll
joystick.sys
makecab.exe
ntdetect.com
ntldr
setupp.ini
Drag and drop cabarc.exe, cabbench.exe, cabinet.dll, cabview.dll and makecab.exe into CABSDK and replace whatever is there. The only file that should still say 1997 will be extract.exe.
5. Get the necessary third party add-ons:
CODE
6. Dead links? You can also get the hotfixes at http://www.mdgx.com/wnt4.htm
7. FAT32 support. Do you really need it? Probably not. If you do, you have two choices:
7a. Winternals had a read/write driver for FAT32. When Microsoft bought them, they apparently paid those guys to kill it. If you can get it, and it is floating around, then download it. It's 4 files: chkfat32.exe, fat32.hlp, fat32.sys, and scnfat32.exe plus some reg keys.
7b. Ashedel makes two files that replace the NT4 versions that give FAT32 support.
I have tried using one, then the other, then both at the same time to try to install NT on a FAT32 drive (not just boot, but install on). It won't work. You have to install to FAT16 and convert that to FAT32 and then it will boot, but it cannot install to FAT32.
8. Extract SP6a into a folder, we’ll call it “sp6a” using the /x switch
9. Extract the post SP6a rollup files from q299444i.exe into a separate folder. Call that folder “q299444i” and use the /X switch again. Rename the BROWSER.DLL in this folder to BROWR.DLL, then rename BROWSER2.DLL to BROWSER.DLL (delete the 2).
10. Extract ALL of the REMAINING hotfixes into SEPARATE folders. Yes, I know! It's a pain in the butt! But see, here's the thing: some of the hotfixes have the same files, and if you extract into the same common folder, they will silently overwrite each other. So you would end up replacing newer files with older ones.
11. Extract ALL of the top-secret nonpublic Hotfixes you happen to have (and if you don’t have any, don’t worry about it) into SEPARATE folders. If you have nonpublic hotfix file KB872952, extract it and rename UNTFS2.DLL to UNTFS.DLL
Some of these passworded ZIP files will not be KBxxxxxx .EXE files. If they just extract the files right into the directory, that's okay.
12. Move ALL of these hotfix files, one by one, the files from your many hotfix folders into the q299444i directory (not into SP6a yet!!). Replace anything old with the new one according to filedate. There will be files that don’t replace anything in q299444i. That’s fine, move them over anyway. Delete all of the leftover files that were older (in other words, if a file was older than the destination, we don’t need it). If you set any files aside, like atl.dll and tcmapp.exe, add them now.
Here is where we are: all of the hotfix files should be in q299444i. Some will replace what's there because they are newer, some will not replace any because q299444 didn't have them, and some files we got rid of.
13. Now it’s time to manually merge all of the q299444i files into the sp6a folder. Just drag and drop files from q299444i into sp6a, and replace older files with newer ones again using the file’s date as your guideline. Here below are most of the files you will be left over with (in other words, don't bother dragging and dropping them into the SP6a folder, just leave them alone for now):
CODE
atalk.dll*
bone.dll*
browser.dll* (Important! This file is NOT the Browser service!!)
browser2.dll (will be renamed to BROWSER and go into SYSTEM32)
crlupd.exe
floppy.sys
fp4autl.dll
ipx.dll*
lmrepl.exe
mprdim.dll
ncp.dll*
netbios.dll*
netdtect.sys
nmapi.dll
parport.sys
ppp.dll*
regacl40.exe
riched20.dll
riched32.dll
rmiisupd.cmd
schannel.dll
schmupd.exe
smb.dll*
snmp.dll*
tcpip.dll*
trail.dll*
vines.dll*
winhstb.exe
bone.dll*
browser.dll* (Important! This file is NOT the Browser service!!)
browser2.dll (will be renamed to BROWSER and go into SYSTEM32)
crlupd.exe
floppy.sys
fp4autl.dll
ipx.dll*
lmrepl.exe
mprdim.dll
ncp.dll*
netbios.dll*
netdtect.sys
nmapi.dll
parport.sys
ppp.dll*
regacl40.exe
riched20.dll
riched32.dll
rmiisupd.cmd
schannel.dll
schmupd.exe
smb.dll*
snmp.dll*
tcpip.dll*
trail.dll*
vines.dll*
winhstb.exe
There will probably be a few more too. Don’t worry about it for now. All of the hotfix files are now merged with the leftovers in q299444i. Oh No, you say! What about Registry edits? Relax, I’ve got you covered.
14. *These marked files will be going into a totally new directory in Windows NT called WINNT\system32\netmon\parsers. You need to make edits to TXTSETUP and LAYOUT, like this:
[SourceDisksNames.x86]
1 ... 26
27 = system32\netmon\parsers ; new directory for post SP6a NT Server files
The files above will be listed like this:
atalk.dll = 1,,,,,,,27,0,0
See the END NOTES for more detail on this.
Here is where we are: we have merged ALL of the hotifx files into the Service Pack6a. We have a bunch of leftover files from q299444i which are left alone in that directory.
15. Download the Unofficial Direct X 5 Distribution for NT 4. I have no idea, Google for it. Maybe try here. Once you have it, expand it to a folder such as “dx5” and don’t worry about the REG file that is distributed with Unofficial DX5, I have that covered, so delete the REG file. Drag and drop (some of) the files in the DX5 folder into the sp6a folder EXCEPT for these, which you can move to the q299444i folder (remember, q299444i is holding leftovers right now):
CODE
D3DPMESH.DLL
D3DRG24X.DLL
D3DRG32X.DLL
D3DRG55X.DLL
D3DRG56X.DLL
D3DRG8X.DLL
D3DRGBXF.DLL
DIRECTX.CPL
16. Some of those leftover files from hotfixes don't replace files in SP6a, but they do replace files in Windows NT i386. Because of the way the Bearwindows slipstreaming program works (it replaces anything in i386 with the same name from sp6a, whether the file was actually from sp6a or not), we can add the following files from the leftovers to sp6a:
CODE
certmgr.msc
clusapi.dll
comcat.dll
csvroot.exe
dplaysvr.exe
dssbase.dll
enhsig.dll
lmrepl.exe
mf3216.dll
mfc42.dll
mfc42u.dll
msvcrt.dll
netdtect.sys
oleaccrc.dll
psxss.exe
riched20.dll
riched32.dll
winhstb.exe
wldap32.dll
17. Get http://browsers.evolt.org/download.php?/ie...SP2/ie55sp2.exe
Get http://browsers.evolt.org/download.php?/ie.../ie55sp2_nt.zip
Extract the following files and put them aside:
CODE
browseui.dll
dispex.dll
dxtmsft.dll
dxtrans.dll
hh.exe
hhctrl.ocx
hlink.dll
iexplore.exe
inetcpl.cpl
inetcplc.dll
itircl.dll
itss.dll
jscript.dll
mshtml.dll
mshtml.tlb
mshtmled.dll
mshtmler.dll
shdoclc.dll
shdocvw.dll
shlwapi.dll
url.dll
urlmon.dll
wininet.dll
ZOMG Internet Explorer?!? I know, I know. But we're going to put it as an optional component during setup so that you can have better program compatibility with programs that think they need to see IE. It won't even be a functional browser. We're just dumping IE DLLs optionally.
18. Now is the time to add whatever else will go into Windows NT such as an ASPI driver or some libraries or small freeware apps, etc. Open my TXTSETUP file and search for the word “newfiles” and you will see what I added. If you don’t want to add something or don’t have it, comment it out with a semicolon. Then open LAYOUT and do the same thing. See the end note.
19. Copy the i386 folder from your CD to your hard drive. Name it “i386bak” You will also copy i386 again to the C: drive at the next step also. It’s just good to have a backup, trust me.
20. No go here and follow this process: http://www.bearwindows.boot-land.net/winnt4.htm
21. When you’re done, move the new i386 directory to whatever drive you were working on. You’ll also need the CDROM_S.40 file.
22. You'll have leftover stuff that you'll wonder about. Files like crlupd.exe for example. You won't know where it came from or how you got it or if it's important... but if I don't make mention of it or tell you to replace a file in i386 with it, then it can be deleted.
The astute reader will notice that I have been updating this every few days.
March 6
Registering DLLs on bootup will be tough; not only is IERNONCE.DLL required, but new versions of EXPLORER and SHELL32.DLL that IE installs are required, too. Microsoft issued post SP6a hotfixes for EXPLORER.EXE and SHELL32.DLL but the shell32 causes problems with some software, and that defeats the purpose of running an OS in the first place. Because I have a nonpublic beta of NT5 that predated Win2000, I might try running that version of explorer and shell32 to see if it even works.
The IE Desktop Update is NOT just available with IE 4. It's available with IE 5, 5.5, and 6, but Microsoft hides it from you. You have to start the install and edit the IESETUP.CIF file in the TEMP directory to make the Desktop Update option visible. The "Update" replaces EXPLORER and SHELL32 with HTML-aware files that are older than the versions from hotfixes. No thanks.
END NOTES
Here are the extra files I added to TXTSETUP and LAYOUT. This list is good for BOTH files.
CODE
;
; newfiles
;
intelata.sys = 1,,,,,,,4,0,0 ; http://www.bearwindows.boot-land.net/winnt4.htm
pnp680.sys = 1,,,,,,,4,0,0 ; http://www.bearwindows.boot-land.net/winnt4.htm
ultra.sys = 1,,,,,,,4,0,0 ; http://www.bearwindows.boot-land.net/winnt4.htm
viadsk.sys = 1,,,,,,,4,0,0 ; http://www.bearwindows.boot-land.net/winnt4.htm
vmx_mode.dll = 1,,,,,,,2,1 ; VMWare video driver
vmx_fb.dll = 1,,,,,,,2,1 ; VMWare video driver
vmx_svga.sys = 1,,,,,,,4,1 ; VMWare video driver
anf1024.bmp = 1,,,,,,,1,1,0 ; Wallpaper 1024x768
anf800.bmp = 1,,,,,,,1,1,0 ; Wallpaper 800x600
chkfat32.exe = 1,,,,,,,2,1,0 ; winternals FAT32 driver
fat32.hlp = 1,,,,,,,21,1,0 ; winternals FAT32 driver
fat32.sys = 1,,,,,,,4,1,0 ; winternals FAT32 driver
scnfat32.exe = 1,,,,,,,2,1,0 ; winternals FAT32 driver
TTFExtNT.dll = 1,,,,,,,2,1,0 ; ttfext.exe Type 2 Hotfix
;IErnonce.dll = 1,,,,,,,2,1,0 ; Only from IE with Desktop Update, avail at http://public.planetmirror.com/pub/browsers/ie/32bit
D3DPMESH.DLL = 1,,,,,,,2,1,0 ; New DirectX 5 file
D3DRG24X.DLL = 1,,,,,,,2,1,0 ; New DirectX 5 file
D3DRG32X.DLL = 1,,,,,,,2,1,0 ; New DirectX 5 file
D3DRG55X.DLL = 1,,,,,,,2,1,0 ; New DirectX 5 file
D3DRG56X.DLL = 1,,,,,,,2,1,0 ; New DirectX 5 file
D3DRG8X.DLL = 1,,,,,,,2,1,0 ; New DirectX 5 file
D3DRGBXF.DLL = 1,,,,,,,2,1,0 ; New DirectX 5 file
DIRECTX.CPL = 1,,,,,,,2,1,0 ; New DirectX 5 file
joystick.dll = 1,,,,,,,2,1,0 ;win2k add-on
joystick.sys = 1,,,,,,,4,1,0 ;win2k add-on
CTL3D.DLL = 1,,,,,,,2,1,0 ;microsoft 3D controls add-on
CTL3D32.DLL = 1,,,,,,,2,1,0 ;microsoft 3D controls add-on
qchain.exe = 1,,,,,,,2,1,0 ; Microsoft extra file
wnaspi32.dll = 1,,,,,,,2,1,0 ; Adaptec extra file
PFE32.EXE = 1,,,,,,,2,1,0 ; extra file from Programmer's File Editor
omnifs32.exe = 1,,,,,,,2,1,0 ; extra file from Norton Ghost 8
deskmenu.exe = 1,,,,,,,2,1,0 ; extra file
inuse.exe = 1,,,,,,,2,1,0 ; extra file
tcpconfg.exe = 1,,,,,,,2,1,0 ; extra file
reboot.exe = 1,,,,,,,2,1,0 ; extra file
shwshars.exe = 1,,,,,,,2,1,0,showshares.exe ; extra file
CPL.CFG = 1,,,,,,,2,1,0 ; licensing data
tweakui.cnt = 1,,,,,,,2,1,0 ; Powertools
tweakui.cpl = 1,,,,,,,2,1,0 ; Powertools
tweakui.hlp = 1,,,,,,,2,1,0 ; Powertools
atalk.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
bone.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
ipx.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
ncp.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
netbios.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
ppp.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
smb.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
SNMP.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
tcpip.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
Trail.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
VINES.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
nmapi.dll = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
parser.ini = 1,,,,,,,27,0,0 ; system32\netmon\parsers from q299444
browr.dll = 1,,,,,,,27,0,0,browser.dll ; system32\netmon\parsers from q299444
msasn1.dll = 1,,,,,,,2,1,0 ; hotfix file
itircl.dll = 1,,,,,,,2,1,0 ; hotfix file
lmmon.dll = 1,,,,,,,2,1,0 ; hotfix file
mprdim.dll = 1,,,,,,,2,1,0 ; hotfix file
TIMEZONE.EXE = 1,,,,,,,2,1,0 ; hotfix file
quartz.dll = 1,,,,,,,2,1,0 ; hotfix file
regacl40.exe = 1,,,,,,,2,1,0 ; hotfix file
prebind.exe = 1,,,,,,,2,1,0 ; hotfix file
mprapi.ste = 1,,,,,,,2,1,0,mprapi.dll ; hotfix file
NIRCMD.EXE = 1,,,,,,,2,1,0 ; hotfix file
html32.cnv = 1,,,,,,,2,1,0 ; hotfix file
CREATALS.EXE = 1,,,,,,,2,1,0 ; hotfix file
tcmapp.exe = 1,,,,,,,2,1,0 ; from TAPI 2.0 redistributable
glut32.dll = 1,,,,,,,2,1,0 ; library file
msvcp50.dll = 1,,,,,,,2,1,0 ; library file
msvcp60.dll = 1,,,,,,,2,1,0 ; library file
atl.dll = 1,,,,,,,2,1,0 ; library file
CABARC.EXE = 1,,,,,,,2,1,0 ; CAB SDK
cabinet.dll= 1,,,,,,,2,1,0 ; CAB SDK
cabview.dll= 1,,,,,,,2,1,0 ; from win2k
EXTRACT.EXE= 1,,,,,,,2,1,0 ; CAB SDK
MAKECAB.EXE= 1,,,,,,,2,1,0 ; CAB SDK
unzip.exe = 1,,,,,,,2,1,0 ;http://www.info-zip.org/Zip.html#Downloads
zip.exe = 1,,,,,,,2,1,0 ;http://www.info-zip.org/Zip.html#Downloads
UnRAR.exe = 1,,,,,,,2,1,0 ;http://www.rarlab.com/rar/unrarw32.exe
chess.inf = 1,,,,,,,20,0,0 ; gnuchess
GNUCHESS.DAT= 1,,,,,,,2,3,3 ; gnuchess
GNUCHESS.EXE= 1,,,,,,,2,3,3 ; gnuchess
GNUCHESS.HLP= 1,,,,,,,2,3,3 ; gnuchess
GNUCHESS.LAN= 1,,,,,,,2,3,3 ; gnuchess
ob1.inf = 1,,,,,,,20,0,0 ; Off by 1 Browser
OB1.exe = 1,,,,,,,2,3,3 ; Off by 1 Browser
libeay32.dll= 1,,,,,,,2,3,3 ; http://offbyone.com/offbyone/
SSLeay32.dll= 1,,,,,,,2,3,3 ; http://offbyone.com/offbyone/
paperch.inf = 1,,,,,,,20,0,0 ; Paper Changer by James Emerton
pc.exe = 1,,,,,,,2,3,3 ; http://www.nonags.com/software.asp?id=3105
Pc.hlp = 1,,,,,,,2,3,3 ; http://www.nonags.com/software.asp?id=3105
pc.ini = 1,,,,,,,2,3,3 ; http://www.nonags.com/software.asp?id=3105
TCLOCKEX.CNT= 1,,,,,,,2,1,0 ; http://www.rcis.co.za/dale/tclockex/index.htm
TCLOCKEX.CPL= 1,,,,,,,2,1,0 ; TClockEx
TCLOCKEX.DLL= 1,,,,,,,2,1,0 ; TClockEx
TCLOCKEX.EXE= 1,,,,,,,2,1,0 ; TClockEx
TCLOCKEX.HLP= 1,,,,,,,2,1,0 ; TClockEx
TCSET.EXE = 1,,,,,,,2,1,0 ; TClockEx
pdh.dll = 1,,,,,,,2,1,0 ; Winternals file
procexp.chm = 1,,,,,,,2,1,0 ; Winternals file
procexp.exe = 1,,,,,,,2,1,0 ; Winternals file
psexec.exe = 1,,,,,,,2,1,0 ; Winternals file
psfile.exe = 1,,,,,,,2,1,0 ; Winternals file
psgetsid.exe= 1,,,,,,,2,1,0 ; Winternals file
Psinfo.exe = 1,,,,,,,2,1,0 ; Winternals file
pskill.exe = 1,,,,,,,2,1,0 ; Winternals file
pslist.exe = 1,,,,,,,2,1,0 ; Winternals file
Pstools.chm = 1,,,,,,,2,1,0 ; Winternals file
psloggdn.exe= 1,,,,,,,2,1,0,psloggedon.exe ; Winternals file
psloglst.exe= 1,,,,,,,2,1,0,psloglist.exe ; Winternals file
pspasswd.exe= 1,,,,,,,2,1,0,pspasswd.exe ; Winternals file
psservce.exe= 1,,,,,,,2,1,0,psservice.exe ; Winternals file
psshtdwn.exe= 1,,,,,,,2,1,0,psshutdown.exe ; Winternals file
pssspend.exe= 1,,,,,,,2,1,0,pssuspend.exe ; Winternals file
psversn.txt = 1,,,,,,,2,1,0,psversion.txt ; Winternals file
Filemon.exe = 1,,,,,,,2,1,0 ; Winternals file
FILEMON.HLP = 1,,,,,,,2,1,0 ; Winternals file
Regmon.exe = 1,,,,,,,2,1,0 ; Winternals file
REGMON.HLP = 1,,,,,,,2,1,0 ; Winternals file
sync.exe = 1,,,,,,,2,1,0 ; winternals utility
contig.exe = 1,,,,,,,2,1,0 ; winternals utility
; Internet Explorer and related
iefiles.inf = 1,,,,,,,20,0,0
browseui.dll = 1,,,,,,,2,3,3
dispex.dll = 1,,,,,,,2,3,3
dxtmsft.dll = 1,,,,,,,2,3,3
dxtrans.dll = 1,,,,,,,2,3,3
hh.exe = 1,,,,,,,2,3,3
hhctrl.ocx = 1,,,,,,,2,3,3
hlink.dll = 1,,,,,,,2,3,3
iexplore.exe = 1,,,,,,,2,3,3
inetcpl.cpl = 1,,,,,,,2,3,3
inetcplc.dll = 1,,,,,,,2,3,3
itircl.dll = 1,,,,,,,2,3,3
itss.dll = 1,,,,,,,2,3,3
jscript.dll = 1,,,,,,,2,3,3
mshtml.dll = 1,,,,,,,2,3,3
mshtml.tlb = 1,,,,,,,2,3,3
mshtmled.dll = 1,,,,,,,2,3,3
mshtmler.dll = 1,,,,,,,2,3,3
shdoclc.dll = 1,,,,,,,2,3,3
shdocvw.dll = 1,,,,,,,2,3,3
shlwapi.dll = 1,,,,,,,2,3,3
url.dll = 1,,,,,,,2,3,3
urlmon.dll = 1,,,,,,,2,3,3
wininet.dll = 1,,,,,,,2,3,3


