Jump to content

Running Add/Remove Components during XP setup (like NT4 used to do)


fdv

Recommended Posts

Somehow, I triggered it.

Here's a screenshot from my VM during setup.

I have done so many installs that I can't remember -- this isn't supposed to happen, right?

It does with my current fileset but I don't know what I changed to trigger it. I have a suspicion but I am not positive.

edit: better screenshot

post-24731-12738501948_thumb.jpg

Edited by fdv
Link to comment
Share on other sites


What sysocmgr calls are being made when this happens? Seems like something during setup called sysocmgr.exe against a custom file, although it's been while since I've tried it as well so it's a little hazy. Does this happen during GUI-mode setup, or on first login?

Link to comment
Share on other sites

Here's the answer.

I will post the instructions tomorrow when I am at work and have my files.

Basically, my thought process:

Windows NT 4 populated the Registry with a hive file which I studied endlessly using REGEDT32.

Years later, I am playing with Windows 2000 / XP / 2003 HIVE files (which I have begged and pleaded for people to experiment with FOR YEARS all to no avail -- come on, folks, if I'm the ONLY ONE doing this, nifty little discoveries take forever to find).

I noted an odd discrepancy just the other day -- the NT4 registry data did not have any settings saying "this is a Windows installation." The NT 5.x HIVE files -do-, however, as does IE.INF. They all have markers saying, essentially, "the Windows setup process is underway."

I decided to move the registry values that said this out of the HIVE files to somewhere else. My logic was that Windows setup will no longer be "aware" that that's what's happening. Now, my HIVE files populate the registry the NT 4 "classic" way and there is nothing to tell Windows that anything unusual (like an OS installation) is happening.

Without these "setup is happening right now!" values in the registry when the SYSOC file is parsed, the Add/Remove options dialog pops up. Right after you are asked your name and organization and right before networking is installed.

I will post the specific values tomorrow. The answer lies in HIVESYS.

Edited by fdv
Link to comment
Share on other sites

STEP 1

Open SYSOC.INF (after expanding it obviously)

Comment out:

NtComponents=ntoc.dll,NtOcSetupProc,,4

To keep the byte count the same for LAYOUT, replace the H with semicolons:

;tComponents=ntoc.dll,NtOcSetupProc,,4

Re-compress it using MAKECAB. Don't forget to delete the expanded INF so that there is only the one SYSOC.IN_ file.

STEP 2

Open HIVESYS.INF

scroll to

HKLM,"SYSTEM\Setup","SetupType",0x00010003,1

HKLM,"SYSTEM\Setup","SystemSetupInProgress",0x00010003,1

Comment these lines out. To keep the byte count the same for LAYOUT, replace the H with semicolons:

;KLM,"SYSTEM\Setup","SetupType",0x00010003,1

;KLM,"SYSTEM\Setup","SystemSetupInProgress",0x00010003,1

I know nLite is popular, but this is a way to keep options rather than destroy them forever.

It blows me away that there is absolutely zero interest in this.

Edited by fdv
Link to comment
Share on other sites

I don't think people using nLite really care about removing the options entirely - I think that's actually the point. I don't think it's a good idea to do so (EULA violations nonwithstanding), but thankfully the world doesn't run on what I think either ;).

Link to comment
Share on other sites

Me personally, I don't care too much for WinXP at all, but if you make one for 2000 pro/server

I will definitely interested. Thanks for your hard work and time.

How do I add all the components to be optional?

Edited by PROBLEMCHYLD
Link to comment
Share on other sites

PROB, the same exact process applies to 2000. Give it a try.

How to optionalize things that are not optional like IE is beyond the scope of this post. I'll be optionalizing things for XP and when I do I will probably go back and do the same for 2000 too so eventually this will be done for you.

Edited by fdv
Link to comment
Share on other sites

PROB, the same exact process applies to 2000. Give it a try.

How to optionalize things that are not optional like IE is beyond the scope of this post. I'll be optionalizing things for XP and when I do I will probably go back and do the same for 2000 too so eventually this will be done for you.

Thanks a million!

Link to comment
Share on other sites

It blows me away that there is absolutely zero interest in this.

There isn't. Maybe others aren't at msfn 24/7.

So congrats on this great find. Some threads ago you said that "anything can be installed using INFs" or something along that line. So that would mean it's also possible to expand the list you printed (Games=ocgen.dll etc...) in the other thread?

Edit: Oh I just read "Internet Explorer can be made to be a simple checkbox!"

So it is possible to expand the list! Absolutely brilliant!

Edited by Brabant
Link to comment
Share on other sites

"There isn't. Maybe others aren't at msfn 24/7."

:lol: Okay Brabant, you got me there

I tried this two-step on a totally clean XP.

It works (so one does not have to use my fileset) but it would appear that checking / unchecking items did not actually work once the OS completed installation. So maybe it's just cosmetic, which is hard to believe but maybe.

So I need some technical help. I have been fiddling with the HIVE files for a week now and I'm out of ideas right at the moment.

At that point above in the setup, SHIFT + F10 brings up a CMD box which I then usually use to start REGMON and FILEMON from sysinternals via the command line. I save the logs to the desktop (which exists even prior to installation being finished) and then do whatever I'm going to do, and the REGMON and FILEMON "record" what Windows is doing during the install. I then wait until Windows is just about done and I re-save both, close them and then I can view the logs once Windows is installed. This is how I examine what really happens during an install.

All sorts of things can be done including launching REGEDIT to tweak reg values in real time (only take effect on reboot) and many other things. Including, of course, playing Pinball during setup by CD'ing to its directory and typing pinball.exe. Anyway. You get the idea.

So, this is a public cry for assistance to test this, and if it is only cosmetic, to see how to get it working!

Link to comment
Share on other sites

So you want the last fdv-2000 users to join the Dark Side?

I have a trial xp-sp2 CD, let's see if I can slipstream sp3 in it. And then with HFs get something to install at all.

Link to comment
Share on other sites

So you want the last fdv-2000 users to join the Dark Side?

;-)

No need, the win2k fileset should be all set up for this same exact thing. I haven't tested it, but the same edits have been made.

Link to comment
Share on other sites

This is freaking awesome! Thanks FDV!

Seems Microsoft likes those quick command cover-ups (brings to mind the "hide" entry in the Add/Remove Programs INI file).

Edited by Ambassador
Link to comment
Share on other sites

Anyone try this, and have any ideas on whether it works in all scenarios?

Including "Hfslip Other" there are 23 check boxes and if they can be set independantly from each other that's 2^23 = 8388608 possibilities. I haven't tried them all today, sorry.

But the 4 installs I did try all went without a hitch on VPC2007. (Setup takes really long with all the s***e still present)

So IE-less (or OE-less) really only means 'not giving them their icons' right? Under Programs or in QL bar you dont get icons but it's all still there.

Edit: This is all on 2000.

Edited by Brabant
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...