MSFN Forum: introducing UHFS - MSFN Forum

Jump to content



Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

introducing UHFS universal hotfix slipstreamer Rate Topic: -----

#1 User is offline   noisehole 

  • Newbie
  • Group: Members
  • Posts: 15
  • Joined: 05-July 05

Posted 26 July 2005 - 12:46 PM

readme:
this little app tries to slipstream ms packages into a windows installation
(unlike /integrate of hft2 packages)

the idea is to analyze these packages as they are with the goal to be as
universal and accurate as possible (hence the name)

pros:
   - should work with all supported hotfix types
   - should work with all available languages
   - should work with various editions of a windows version
   - fileversioninfo is used to get the exact version
   - no duplicate files with different versions, driver cabinets are merged

cons:
   - relies on expand.exe, makecab.exe and MSICabExtract.exe
   - files need to be extracted to get fileversioninfo
   - the .inf parser implementation is done just by peeking at the files,
     at this state it might be partially wrong

limits:
   - supported packages are hotfix types 1 (.exe and .cab) and 2 (only .exe)
   - .msi support currently just for MSXML 4.0 Service Pack 2
   - at this state the whole installation is copied and extracted instead of
     modified since this is an experimental version (installation get huge!)
   - this is the first release, w2k pro mode is hardcoded. dont use other
     versions/editions at this time
   - inf conditions are not implemented
   - currently svcpack.inf is newly generated instead of modified
   - currently the process is uninterruptable so check your settings


i started this app last weekend, so its in a very early stage. youre welcome to try it and report back what happened ;)
im currently not 100% convinced that this is a successful approch (parsing the packages) since the inf files can get pretty complicated (eg conditions). let me know what you think of it.

my last log is inside the attached archive, take a look and you'll get the idea what this app is for and how it works. i only tested the packages reported in the log, so dont even think about throwing dx, netfx, wmp etc at it ;)

current issues:
when integrating ie6 first logon hangs (you can see the ie6 runonceex thing), this is because registerdll wont find some files. follow these steps:
- when logon hangs, press ctrl+alt+del and logout
- login again
- copy uhfs.inf from \i386 off the cd
- remove readonly flag
- edit header like this:
from
[Version]
Signature="$Windows NT$"
ClassGUID={00000000-0000-0000-0000-000000000000}
layoutfile=LAYOUT.INF

[Optional Components]
UHFS

[UHFS]
OptionDesc="UHFS combined inf"
Tip="UHFS combined inf"
Modes=0,1,2,3
CopyFiles=xxx
AddReg=xxx
DelReg=xxx
RegisterDlls=xxx


to
[Version]
Signature="$Windows NT$"

[DefaultInstall]
AddReg=xxx
DelReg=xxx
RegisterDlls=xxx

then save, rightclick it and chosse install
relogin

now ie and oe should report the rigth version

there're still tons of other issues because i just started looking at how the installation procedure works.

edit uhfs.ini to test my app
put hotfixes in the PATH_HF directory. subdirectories are ignored except "ie6setup" where you can put the whole ie6 installation (13 cabs)

regards

uhfs 0.0.1.0

This post has been edited by noisehole: 26 July 2005 - 12:51 PM



#2 User is offline   noisehole 

  • Newbie
  • Group: Members
  • Posts: 15
  • Joined: 05-July 05

Posted 26 July 2005 - 12:55 PM

oh, sfc is disabled at this stage. i dont wanna edit the installation, there're enough tools for that, but i couldnt find a reliable solution to edit the setupfiles and leave sfc intact afterwards. setupapi.dll is patched and sfcfiles.dll is replaced with an empty list of files.

im getting
Setting reg key HKLM\Software\Microsoft\Works\6.0\Calendar\CurSize
Error 5: Access is denied.

while inserting the rollup reg values. if i remove the calendar entries it works. any hints on that?

#3 User is offline   Aegis 

  • MSFN Expert
  • PipPipPipPipPipPip
  • Group: Banned
  • Posts: 1,298
  • Joined: 12-March 05

Posted 26 July 2005 - 01:07 PM

Screenshot?

#4 User is offline   noisehole 

  • Newbie
  • Group: Members
  • Posts: 15
  • Joined: 05-July 05

Posted 26 July 2005 - 01:11 PM

well the gui sucks big time, so you basically only got the log as memo (rightclick that to copy contents to clipboard) and a "go" button :P

#5 User is offline   fdv 

  • MSFN Expert
  • Group: Developers
  • Posts: 1,089
  • Joined: 16-July 04
  • OS:Windows 7 x86
  • Country: Country Flag

Posted 26 July 2005 - 06:15 PM

TommyP's approach started as Win2k only and expanded to XP also. Now that we've got it to the point where Windows Update reports nothing needed, the idea was that parsing INF files would be the Next Big Thing to Try. I'm inclined to agree that this isn't ideal due to the fact that so many are dual 2k/xp.

Also, your custom INF file contents - make it nonoptional and then try to circumvent this hang problem by replacing axant.in_ or some other worthless INF file with your INF's contents to do the dirty work for you (and reboot too) so that the problem you cite below is taken care of by logon (only looking quickly).

#6 User is offline   noisehole 

  • Newbie
  • Group: Members
  • Posts: 15
  • Joined: 05-July 05

Posted 27 July 2005 - 03:58 AM

i started getting into this "setup modding business" when i found tommyp's script. it just works and he did a great job, but as a developer i just had to try the inf-parsing approch. the parsing itself works pretty well atm, im just not 100% sure how to integrate those results into the installation. eg you are suggesting to add my inf to syssetup.inf instead of sysoc.inf. ive no idea when exactly those files are executed by the installation ;) but thanks for the tip, ill have a try.

the multi-os hotfixes arent the problem, here's a snippet from the log
  analyzing IE6.0sp1-KB883939-Windows-2000-XP-x86-ENU.exe
   detected hft2 6.1.0022.4
   extracting...
   branched hf, using update\update_W2K.inf
   identified as Windows 2000 Hotfix - KB883939, enqueued with id 883939


what makes me doubtful are these things:
from the ur1 inf
 [ProductInstall.Conditional] 

    FileCondition= MDAC2X53X6310.Condition

  [MDAC2X53X6310.Condition] 

    InstallFromSection=MDAC.Install.Section
    Operation=CustomFunction,UpdCustom.dll, UpdInstallMdac2X53X6310, MDAC2X53X6310.Section
    CopyFlags=SP_COPY_NEWER_OR_SAME | SP_COPY_REPLACEONLY

it calling a function from a dll thats included in the hotfix, and i guess i can just forget about doing so because it returns results based on the system it is executed on

another issue are all those different inf sections. is the hotfix exe reading all infsection and decides which of them to execute or is it looking for hardcoded ones? im currently taking the 2nd approch with these strings (and different suffixes)
ProductInstall.DontDelayUntilReboot
ProductInstall.CopyFilesAlways
ProductInstall
ProductInstall.128BitFiles
ProductInstall.ReplaceFilesIfExist

and as a result i get some fileoperations more than once. from the log
     updating qmgr.dll from v6.2.3630.2522 to v6.6.2600.1596
      ERROR: source file does not exist: qmgr.dll

this file should be present in 2 locations. i dont know how to handle that (do i have 1 fileop too much?)

regards

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users



All trademarks mentioned on this page are the property of their respective owners
Copyright © 2001 - 2011 msfn.org
Privacy Policy