Jump to content











Photo
- - - - -

More on HIVEFIX.INF


  • Please log in to reply
3 replies to this topic

#1 wendy

wendy

    Frequent Member

  • Lady
  • 290 posts
  • Location:one mile from the QR main line
  • Interests:Operating systems, Weights and Measures, Geometry
  •  
    Australia

Posted 08 July 2007 - 08:08 AM

Here is something rather cute.

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.

#2 Oleg_II

Oleg_II

    Frequent Member

  • Advanced user
  • 298 posts
  • Location:Somewhere in the East

Posted 12 July 2007 - 10:22 PM

This trick is very interesting. I tried it and part of it works :yahoo:

Unfortunatly Temp environment didn't work for me but I have a customized distro maybe that's the reason.

Will continue to check it later :)

#3 wendy

wendy

    Frequent Member

  • Lady
  • 290 posts
  • Location:one mile from the QR main line
  • Interests:Operating systems, Weights and Measures, Geometry
  •  
    Australia

Posted 13 July 2007 - 07:07 AM

Temp does not work as desired. It seems to be reset by a later INF file.

Nor does a lot of the user settings (eg DontPrettyPath, ShowHidden, ShowSuperhidden &c).

I did get a batch file to run, which sets the current and default user settings after setup, but it still is flaky (does not work as well as desired).

The latest plan is to try and run fixcomp.cmd late in the setup.

It is supposed to set defaults in absence of a WINNT.SIF, but when a suitable winnt.sif is used (in i386 or on floppy), the thing runs as uninstalled.

W

#4 Oleg_II

Oleg_II

    Frequent Member

  • Advanced user
  • 298 posts
  • Location:Somewhere in the East

Posted 13 July 2007 - 02:22 PM

There is no problem with difining TEMP environment later (I do it through an INF file):
; system temporary files

HKCU,"Environment","TEMP",0x20000,"%24%\Temp"

HKCU,"Environment","TMP",0x20000,"%24%\Temp"

HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","TEMP",0x20000,"%24%\Temp"

HKLM,"SYSTEM\CurrentControlSet\Control\Session Manager\Environment","TMP",0x20000,"%24%\Temp"

But that is interesing what can be done with HIVEFIX.INF :yahoo:

Maybe AddReg and DelReg parts should be separated? Or mabe even separate HIVEFIX1.INF and HIVFIX2.INF. Maybe first delete the value (no metter with which data it is) and then add the value with the desired data :)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users