You can make Windows 2000 or Windows XP install into a directory structure like vista, and even have things like no spaces in directory names.
For example, instead of 'Documents and Settings\All Users", you can have the vista version of \users\public. So the public documents now become \users\public\personal &c.
This setting must be implemented at the end of the character-mode "DOS" setup. This is when the initial registry is created. To do this, you add a few files into the i386 directory, and then build everything.
You can, of course, modify the assorted HIVE*.INF files, but slipstreams etc will trash this for you. Instead, we add an entirely new HIVEFIX.INF, and process this after the rest.
This is 'SI.TXT'. It is a list of modifications to make to the named files (here, for W2k, but i have a similar one for xp), in user-friendly cut-and-paste mode. It has the complete instructions of what to do. I add a number of Win2k support/resource kit tools to the file, the modifications are entirely in hivefix.
We add a number of rk files to the default install, wie WINXP et al. The Windows bitmaps live in webvw.dll, so we add the Win9x stuff there. Setup.bmp lives in ------ dosnet.inf --------------------------------------------- d1,hivefix.inf d1,directx.cpl d1,diskpart.exe d1,kill.exe d1,reg.exe d1,setx.exe d1,tlist.exe ------ txtsetup.sif -------------------------------------------- [SourceDisksFiles] hivefix.inf = 1,,,,,,_x,20,3,3 directx.cpl = 2,,,,,,,2,0,0 diskpart.exe = 2,,,,,,,2,0,0 kill.exe = 2,,,,,,,2,0,0 reg.exe = 2,,,,,,,2,0,0 setx.exe = 2,,,,,,,2,0,0 tlist.exe = 2,,,,,,,2,0,0 setup_w.bmp = 2,,,,,,,2,0,0,setup50.bmp ; add these to the end to make hivefix.inf work. [HiveInfs.Fresh] DelReg = hivefix.inf,AddReg AddReg = hivefix.inf,AddReg [HiveInfs.Upgrade] DelReg = hivefix.inf,AddReg AddReg = hivefix.inf,AddReg ; These have not really changed, so... [SetupData] SetupSourcePath = "\" DefaultPath=\FENSTER --------------------------------------------------------------------- WEBVW.DLL Add bitmaps to resource table, using reshack.exe. Webview needs to be compressed.
The next bit is the actual HIVEFIX.INF. This is just an ordinary INF file, that is to be run after the rest. That's why you need to put the addreg and delreg stuff at the end of the sections above.
You mainly change the stuff in [strings] to meet your taste.
International settings are designed to default to Qld time (GMT+10, no DST) in the absence of a WINNT.SIF. Using a winnt.sif allows one to set this also.
[Version] Signature = "$Windows NT$" ClassGUID={00000000-0000-0000-0000-000000000000} DriverVer=11/14/1999,5.00.2183.1 ; vers 2195/1 [AddReg] ; homegrown ; flags: see 'windows registry guide', p276 HKCU,"Console","InsertMode",0x00010001,1 HKCU,"Console","QuickEdit", 0x00010001,0 HKLM,"Software\Microsoft\Command Processor","CompletionChar",0x00010001,9 HKLM,"Software\Microsoft\Command Processor","PathCompletionChar",0x00010001,9 HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","ParseAutoexec",0x00000000,"0" HKCU,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon","ParseAutoexec",0x00000000,"0" ; HiveCLS.inf HKCR,"batfile","",0x00000002,"%MS_DOS_BATCH_FILE%" HKCR,"comfile","",0x00000002,"%MS_DOS_APPLICATION%" ; Hivesft.inf HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","ProfilesDirectory",0x00020002,"%DEFAULT_PROFILES_DIR%" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","AllUsersProfile",0x00000000,"%ALL_USERS%" HKLM,"SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList","DefaultUserProfile",0x00000000,"%DEFAULT_USER%" ; TweakUI ; HKLM,"Software\Microsoft\Windows\CurrentVersion\Run",,,"RUNDLL32.EXE TWEAKUI.CPL,TweakMeUp" ; HiveSys.inf HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Language","InstallLanguage",,"%INSTALL_LANGUAGE%" HKLM,"SYSTEM\CurrentControlSet\Control\Nls\Locale","(Default)",,%INSTALL_LOCALE% ; Hivedef.inf ; International Settings HKCU,"Control Panel\International","iCalendarType",0x00000000,"%INTL_ICALENDAR%" HKCU,"Control Panel\International","iCountry",0x00000000,"%INTL_ICOUNTRY%" HKCU,"Control Panel\International","iCurrDigits",0x00000000,"%INTL_ICURRDIGITS%" HKCU,"Control Panel\International","iCurrency",0x00000000,"%INTL_ICURRENCY%" HKCU,"Control Panel\International","iDate",0x00000000,"%INTL_IDATE%" HKCU,"Control Panel\International","iDigits",0x00000000,"%INTL_IDIGITS%" HKCU,"Control Panel\International","iFirstDayOfWeek",0x00000000,"%INTL_IFIRSTWEEKDAY%" HKCU,"Control Panel\International","iLZero",0x00000000,"%INTL_ILZERO%" HKCU,"Control Panel\International","iMeasure",0x00000000,"%INTL_IMEASURE%" HKCU,"Control Panel\International","iNegCurr",0x00000000,"%INTL_INEGCURR%" HKCU,"Control Panel\International","iTime",0x00000000,"%INTL_ITIME%" HKCU,"Control Panel\International","iTLZero",0x00000000,"%INTL_ITLZERO%" HKCU,"Control Panel\International","Locale",0x00000000,"%INTL_LOCALE%" HKCU,"Control Panel\International","s1159",0x00000000,"%INTL_S1159%" HKCU,"Control Panel\International","s2359",0x00000000,"%INTL_S2359%" HKCU,"Control Panel\International","sCountry",0x00000000,"%INTL_SCOUNTRY%" HKCU,"Control Panel\International","sCurrency",0x00000000,"%INTL_SCURRENCY%" HKCU,"Control Panel\International","sDate",0x00000000,"%INTL_SDATE%" HKCU,"Control Panel\International","sDecimal",0x00000000,"%INTL_SDECIMAL%" HKCU,"Control Panel\International","sLanguage",0x00000000,"%INTL_SLANGUAGE%" HKCU,"Control Panel\International","sList",0x00000000,"%INTL_SLIST%" HKCU,"Control Panel\International","sLongDate",0x00000000,"%INTL_SLONGDATE%" HKCU,"Control Panel\International","sShortDate",0x00000000,"%INTL_SSHORTDATE%" HKCU,"Control Panel\International","sThousand",0x00000000,"%INTL_STHOUSAND%" HKCU,"Control Panel\International","sTime",0x00000000,"%INTL_STIME%" HKCU,"Control Panel\International","sTimeFormat",0x00000000,"%INTL_STFORMAT%" ; Marquee Settings HKCU,"Control Panel\Screen Saver.Marquee","Font",0x00000000,"%SCREEN_SAVER_MARQUEE_FONT%" HKCU,"Control Panel\Screen Saver.Marquee","Text",0x00000002,"%SCREEN_SAVER_MARQUEE_TEXT%" ; TempDir HKCU,"Environment","TEMP",0x00020000,"%TEMP_DIR%" HKCU,"Environment","TMP",0x00020000,"%TEMP_DIR%" ; Shell Folders HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","AppData",0x00020002,"%U_SHELL_FOLDERS_APPDATA%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Desktop",0x00020002,"%U_SHELL_FOLDERS_DESKTOP%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Favorites",0x00020002,"%U_SHELL_FOLDERS_FAVORITES%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","NetHood",0x00020002,"%U_SHELL_FOLDERS_NETHOOD%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Personal",0x00020000,"%U_SHELL_FOLDERS_PERSONAL%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","PrintHood",0x00020002,"%U_SHELL_FOLDERS_PRINTHOOD%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Programs",0x00020002,"%U_SHELL_FOLDERS_PROGRAMS%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Recent",0x00020002,"%U_SHELL_FOLDERS_RECENT%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","SendTo",0x00020002,"%U_SHELL_FOLDERS_SENDTO%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Start Menu",0x00020002,"%U_SHELL_FOLDERS_START_MENU%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Startup",0x00020002,"%U_SHELL_FOLDERS_STARTUP%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Templates",0x00020002,"%U_SHELL_FOLDERS_TEMPLATES%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Cookies",0x00020000,"%U_SHELL_FOLDERS_COOKIES%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","My Pictures",0x00020000,"%U_SHELL_FOLDERS_MYPICTURES%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Local Settings",0x00020000,"%U_SHELL_FOLDERS_LOCAL_SETTINGS%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Local AppData",0x00020000,"%U_SHELL_FOLDERS_LOCAL_APPDATA%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","Cache",0x00020000,"%U_SHELL_FOLDERS_CACHE%" HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders","History",0x00020000,"%U_SHELL_FOLDERS_HISTORY%" [Strings] ; Hivecls.inf MS_DOS_APPLICATION="PC-DOS Application" MS_DOS_BATCH_FILE="PC-DOS Batch File" ; Hivesys.inf INSTALL_LANGUAGE="0409" ; International INTL_ICALENDAR="1" INTL_ICOUNTRY="61" INTL_ICURRDIGITS="2" INTL_ICURRENCY="0" INTL_IDATE="2" INTL_IDIGITS="2" INTL_IFIRSTWEEKDAY="6" INTL_ILZERO="1" INTL_IMEASURE="1" INTL_INEGCURR="1" INTL_ITIME="1" INTL_ITLZERO="1" INTL_LOCALE="00000C09" INTL_S1159="AM" INTL_S2359="PM" INTL_SCOUNTRY="Australia" INTL_SCURRENCY="$" INTL_SDATE="/" INTL_SDECIMAL="." INTL_SLANGUAGE="ENA" INTL_SLIST="," INTL_SLONGDATE="dddd, d MMMM, yyyy" INTL_SSHORTDATE="yyyy/MM/dd" INTL_STHOUSAND="," INTL_STIME=":" INTL_STFORMAT="HH:mm:ss" ; Marquee SCREEN_SAVER_MARQUEE_FONT="Georgia" SCREEN_SAVER_MARQUEE_TEXT="Windows 2000 Professional" ; Shell Folders DEFAULT_PROFILES_DIR="%SystemDrive%\USERS" DEFAULT_USER="Default" ALL_USERS="Public" TEMP_DIR="%USERPROFILE%\Local\Temp" U_SHELL_FOLDERS_APPDATA="%USERPROFILE%\AppData" U_SHELL_FOLDERS_DESKTOP="%USERPROFILE%\Desktop" U_SHELL_FOLDERS_FAVORITES="%USERPROFILE%\Favorites" U_SHELL_FOLDERS_NETHOOD="%USERPROFILE%\NetHood" U_SHELL_FOLDERS_PERSONAL="%USERPROFILE%\Personal" U_SHELL_FOLDERS_PRINTHOOD="%USERPROFILE%\PrintHood" U_SHELL_FOLDERS_PROGRAMS="%USERPROFILE%\Start Menu\Programs" U_SHELL_FOLDERS_RECENT="%USERPROFILE%\Recent" U_SHELL_FOLDERS_SENDTO="%USERPROFILE%\SendTo" U_SHELL_FOLDERS_START_MENU="%USERPROFILE%\Start Menu" U_SHELL_FOLDERS_STARTUP="%USERPROFILE%\Start Menu\Programs\Startup" U_SHELL_FOLDERS_TEMPLATES="%USERPROFILE%\Templates" U_SHELL_FOLDERS_COOKIES="%USERPROFILE%\Cookies" U_SHELL_FOLDERS_MYPICTURES="%USERPROFILE%\Personal\Pictures" U_SHELL_FOLDERS_LOCAL_SETTINGS="%USERPROFILE%\Local" U_SHELL_FOLDERS_LOCAL_APPDATA="%USERPROFILE%\AppData" U_SHELL_FOLDERS_CACHE="%USERPROFILE%\Local\Temporary Internet Files" U_SHELL_FOLDERS_HISTORY="%USERPROFILE%\History"
Among the many side effects, one gets \users\default, and \users\public for the default and all users directories. Some settings, such as the shell settings and the start menu, are not yet created, and so are not easy to modify here. We use a batch file later on to do this.