Jump to content

Unofficial SP 5.2 for Microsoft Windows 2000 (WIP)


tomasz86

Recommended Posts


I'm thinking about:

.NET 1.0 - optional

.NET 1.1 - optional

.NET 2.0 - always

.NET 3.0/3.5 - always

.NET 4.0 - always

but on the other hand I don't know if I can do it easily because sysoc.inf is involved and using MS hotfix installer to modify sysoc.inf in a running system won't probably be very safe. It's fine when a Service Pack is integrated (/integrate) because sysoc.inf is directly replaced but in a running system replacing the sysoc.inf is not an option (because it may have been edited/customised by user manually before and replacing it would revert any changes). I'm not sure yet but it may be necessary to just install all Frameworks to avoid any potential issues.

Link to comment
Share on other sites

I was wrong about sysoc.inf. It's installed by the Service Pack too! It means there's no problem in preparing it so .NET 1.0 & 1.1 will be available to install on user's request from Control Panel's Add/Remove applet.

Following... :thumbup:yes::w00t:

Thank you for support :)

Edited by tomasz86
Link to comment
Share on other sites

If anyone's interested in testing USP 5.2 please let me know in advance. I'll send information about any test versions as soon as they're available. Of course the more testers, the better.

Link to comment
Share on other sites

If anyone's interested in testing USP 5.2 please let me know in advance. I'll send information about any test versions as soon as they're available. Of course the more testers, the better.

Count me in :thumbup
Link to comment
Share on other sites

Wow! I want to thank everyone for your support B)

I've been still analyzing the .NET Framework related stuff. I need to make sure there are no compatibility problems, etc. I'm going to make .NET 1.0 & 1.1 optional and 2.0, 3.0, 3.5 & 4.0 always installed. There are three scenarios regarding .NET 1.0 & 1.1:

1) .NET 1.0 (1.1) is already installed -> USP 5.2 will install .NET 1.0 (1.1), i.e. the existing installation will be updated.

2) .NET 1.0 (1.1) is not installed -> USP 5.2 will not install them but they will be available to install from Control Panel on user's request later.

3) In case of integration (/integrate) it's the same situation as in 2).

I've also updated M$ hotfix installer to the newest version, i.e. 6.3.13.0. It's required in order to be able to set some more advanced conditional sections in the update.inf.

Edited by tomasz86
Link to comment
Share on other sites

There are more people willing to test than I thought there would be. Thank you very much once again.

I've been still fighting with the .NET related content. These .NET Frameworks install directly from CABs so installation & uninstallation process is very different from the normal M$ hotfix style. I need to make sure there are no issues, ex.

1) You've got .NET Framework 2.0 installed in your system before installing USP 5.2.

2) You install USP 5.2 so .NET Framework 2.0 is updated too.

3 You decide to uninstall USP 5.2... so what should happen to .NET 2.0? In this case it should be left untouched because it had been already present in the system before installing the USP.

It shall be different when:

1) You've got no .NET 2.0 in your system.

2) You install USP 5.2 so .NET 2.0 is installed with it.

3) You uninstall USP5.2... and in this case .NET 2.0 should also be uninstalled because there had been no .NET 2.0 in the system before installing the USP.

Everything is repeated for all the other Frameworks, i.e. 1.0, 1.1, 2.0, 3.0, 3.5 and 4.0. In case of .NET 1.0 and 1.1 the situation is different though. They are not installed with USP 5.2 by default but rather available to install on user's request from the Control Panel. There's one exception - if you've already got them in your system then they will be installed (and not uninstalled if you remove the USP).

I hope everything is clear. This is some crazy stuff actually :w00t: because there's absolutely NO documentation about all these functions I'm using. That's why I've been analysing the update.inf file from SP2 for Windows Server 2003 because it's much much more advanced than the one from W2K's SP4/USP5 and most of the things needed are there. Still, due to the fact that nothing is documented, it's a trial and error game.

For example, this is what I managed to do for .NET Framework 1.1 and 2.0.

[ProductInstall.ExtendedConditional]

ConditionInstall = Extended.Conditional.NETFX11.Install
ConditionInstall = Extended.Conditional.NETFX20.Install


[ExtendedConditional.Declare]

DeclareSection = Declare.NETFX11.Add.Reg
DeclareSection = Declare.NETFX11.ProcessesToRun
DeclareSection = Declare.NETFX20.UninstallSections


[Extended.Conditional.NETFX11.Install]

Condition=SingleOp,Condition.NETFX11.Installed
ConditionalOperations=NETFX11.Install.Operations


[Extended.Conditional.NETFX20.Install]

Condition=SingleOp,Condition.NETFX20.NotInstalled
ConditionalOperations=NETFX20.Install.Operations


[Declare.NETFX11.Add.Reg]

InstallSection=NETFX11.Add.Reg
OperationType=CONDITIONAL_REG
Flags=PROCESS_FLAG_HIDEUI


[Declare.NETFX11.ProcessesToRun]

InstallSection=NETFX11.ProcessesToRun
OperationType=CONDITIONAL_PROCESS
Flags=PROCESS_FLAG_HIDEUI
ExecuteStage=EXECUTE_AFTERINSTALL


[Declare.NETFX20.UninstallSections]

InstallSection=NETFX20.UninstallSections
OperationType=CONDITIONAL_SECTION
Flags=PROCESS_FLAG_HIDEUI


[Condition.NETFX11.Installed]

PresentOp = CheckReg,HKLM,"Software\Microsoft\NET Framework Setup\NDP\v1.1.4322"


[Condition.NETFX20.NotInstalled]

NotPresentOp = CheckReg,HKLM,"Software\Microsoft\NET Framework Setup\NDP\v2.0.50727"


[NETFX11.Install.Operations]

RegOperation = NETFX11.Install.Registry
ProcessOperation = NETFX11.Install.Processes
; ArchiveSections = NETFX11.UninstallSections


[NETFX20.Install.Operations]

ArchiveOperation = NETFX20.Install.Backup


[NETFX11.Install.Registry]

AddReg = NETFX11.Add.Reg


[NETFX11.Add.Reg]

HKLM,"Software\Microsoft\Windows\CurrentVersion\Setup\Oc Manager\Subcomponents","NETFX11",0x00010001,1


[NETFX11.Install.Processes]

RunProcesses = NETFX11.ProcessesToRun


[NETFX11.ProcessesToRun]

%systemroot%\system32\rundll32.exe setupapi,InstallHinfSection NETFX11 132+0 %sourcepath%\netfx11.inf


[NETFX20.Install.Backup]

ArchiveSections = NETFX20.UninstallSections


[NETFX20.UninstallSections]

NETFX20.ProcessesToRunAfterUninstall


[NETFX20.ProcessesToRunAfterUninstall]

%systemroot%\system32\rundll32.exe advpack.dll,LaunchINFSection %17%\netfx20.inf,NETFX20.CleanUp,,N,4

and all of this is only to make installation and uninstallation of these two Framework work :lol: and I'm still not sure if everything works correctly.

Link to comment
Share on other sites

  • 3 weeks later...

I wonder what you think about re-using this icon:

post-47483-1123010975.png

It was used by Gurgelmeyer in his signature linking to "http://www.willsdownloads.com/blog/win2ksp5.php" which is not online anymore. The icon itself seems to be made originally by a person called Aegis. He was banned here long time ago so unfortunately it's not possible to ask for his opinion on it.

Do you think it would be (in)appropriate to use it for USP 5.2?

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...