noisehole Posted July 26, 2005 Share Posted July 26, 2005 (edited) 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 asuniversal 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 mergedcons: - 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 wronglimits: - 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 settingsi 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,3CopyFiles=xxxAddReg=xxxDelReg=xxxRegisterDlls=xxxto[Version]Signature="$Windows NT$"[DefaultInstall]AddReg=xxxDelReg=xxxRegisterDlls=xxxthen save, rightclick it and chosse installreloginnow ie and oe should report the rigth versionthere're still tons of other issues because i just started looking at how the installation procedure works.edit uhfs.ini to test my appput hotfixes in the PATH_HF directory. subdirectories are ignored except "ie6setup" where you can put the whole ie6 installation (13 cabs)regardsuhfs 0.0.1.0 Edited July 26, 2005 by noisehole Link to comment Share on other sites More sharing options...
noisehole Posted July 26, 2005 Author Share Posted July 26, 2005 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 gettingSetting reg key HKLM\Software\Microsoft\Works\6.0\Calendar\CurSizeError 5: Access is denied.while inserting the rollup reg values. if i remove the calendar entries it works. any hints on that? Link to comment Share on other sites More sharing options...
Aegis Posted July 26, 2005 Share Posted July 26, 2005 Screenshot? Link to comment Share on other sites More sharing options...
noisehole Posted July 26, 2005 Author Share Posted July 26, 2005 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 Link to comment Share on other sites More sharing options...
fdv Posted July 27, 2005 Share Posted July 27, 2005 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). Link to comment Share on other sites More sharing options...
noisehole Posted July 27, 2005 Author Share Posted July 27, 2005 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 883939what 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_REPLACEONLYit 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 onanother 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.DontDelayUntilRebootProductInstall.CopyFilesAlwaysProductInstallProductInstall.128BitFilesProductInstall.ReplaceFilesIfExistand 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.dllthis file should be present in 2 locations. i dont know how to handle that (do i have 1 fileop too much?)regards Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now