Jump to content

Unofficial SP 5.2 for Microsoft Windows 2000 (WIP)


tomasz86

Recommended Posts

@acus

Thanks a lot of testing. I've prepared a combined version of .NET 1.0+1.1 installer. It's available in the repository (see #1).

The filename of the .NET 1.0+1.1 installer is NETFX1011_20120625.004123.7z.

This is a combined .NET Framework 1.0 and 1.1 installer so it will install both of them at the same time, and both of them will be removed too if you decide to uninstall the package. They are based on the true addons created by OnePiece and of course they are fully updated.

What's interesting is that you can see that this repacked installer doesn't even require a reboot to finish all tasks. Now, I'm very sorry to say this but the official M$ installers for .NET Framework are a piece of junk :thumbdown :thumbdown :thumbdown They are slow and you always have to reboot. Compared to them the repacked version is super fast. A big advantage of merging .NET Frameworks is that there are some overlapping files between different versions of it and by using a merged installer it's possible to have only one copy of each of them.

One problem I had to solve was that many (most) of the files have exactly same names even though they come from different versions of .NET Framework, ex. a file "mscorie.dll" is present in .NET 1.0, 1.1 and 2.0. I decided to use a simple way. I renamed all files to MD5(first 8 digits).net like this:

0189c803.net
01a9326d.net
02ec75da.net
04600ba4.net
048297b5.net

You may have already seen them if you downloaded the .NET 1.0 installer. Thanks to this method all exactly same files are merged and only one of them is left, and also different files but with same name can be included in the package. Of course these files are renamed during the installation, so "0189c803.net" becomes "System.ServiceProcess.Resources.dll", etc. The method has another HUGE advantage - all of them have the 8.3 name format which means that they can be used when Windows setup is launched from DOS. This is critical because I plan to add them to the USP.

Anyway, could anyone test the new .NET 1.0+1.1 installer? The testing procedure is described above (#43), only the logfile is now called "NETFX1011.log". Keep in mind that if you uninstall it your existing .NET 1.0/1.1 installations may be broken so please always test in a VM. I've also fixed one issue present in the previous .NET 1.0 package. By the way, I won't delete any previous packages from the server (SkyDrive) so all of them will be accessible from there unless I run out of disk space.

@Hackeronte

Thanks for your support B)

Yes, there are actually many things you could help. Everything depends on what you are interested in. Do you want to focus only on the Global version, i.e. a version that can be installed in ALL language versions of Win2k, or maybe you want to prepare an Spanish version of UURollup?

1. In case you want to improve the Global version of UURollup then what you can do is to:

- check and compare files from UURollup-v10 (ENU) and UURollup-v3a (Global) and see if there are any newer files in the ENU version which could be added to the Global one

- check files included in the ENU version and see if there are any multilanguage / language neutral files

- add the compatible files to UURollup (Global)

2. In case you want to create an Spanish version of UURollup then you could:

- analyse files present in UURollup (ENU) and check which of them are multilanguage / language neutral and which are English only

- translate the English only files into Spanish

- compile UURollup (ESP)

As you see the two approaches are very different. Both of them require TIME but the first one is still much simpler. On the other hand, by choosing the latter you are able to create a full version of UURollup (ESP) which means that all files with new / extended APIs (mainly kernel related files) will be also there. In case of a Global version it's not possible to include kernel files in it because kernel files are very different according to the system language, especially very different in case of East Asian languages (CHT/CHS/JPN/KOR) and European languages.

First of all, please specify which way you prefer and then I can provide you with some scripts and tools that will help you check and compare all the files :)

Edit: I'm sorry, I messed up the languages. I meant a Spanish version, not Italian :blushing:

Edited by tomasz86
Link to comment
Share on other sites


Thanks :) Actually, this time not everything is OK...

Could you try to install the package again and then run from commandline (a CMD file) this:

C:\WINNT\Microsoft.NET\Framework\v1.0.3705\Copy2Gac.exe /i /f:C:\WINNT\Microsoft.NET\Framework\v1.0.3705\assemblylist.txt /p:C:\WINNT\Microsoft.NET\Framework\v1.0.3705\ /ri:"Microsoft.NET v1.0.3705" /rd:"Microsoft.NET Framework assembly" /q
PAUSE

Is there any error on the screen?

Edit: I'm guessing you'll see an error related to "msvcr71.dll" but I need to be sure before making any changes.

Edited by tomasz86
Link to comment
Share on other sites

I've uploaded two new builds of the .NET 1.0-1.1 installer (you should be interested only in the newest one). MSVCR71.DLL is now copied to the .NET 1.0 directory so everything should work properly.

I initially thought about taking more aggressive approach and merge all registry entries of .NET 1.0 and 1.1 as well (at the moment they are treated separately in the INF file) but after thinking about it I decided not to do it. I'll opt for a safe route and leave them separated (even though most of .NET 1.0 registry stuff is also present in .NET 1.1) as you never know what will be needed in the future.

Now I'm going to focus on .NET 2.0. As I said before, it's hell :ph34r: There are about 7000 lines added to the registry through the INF file.

Edit: I have uploaded one more build of the .NET 1.0-1.1 installer. There was one typo in the previous one's update.inf file.

Edited by tomasz86
Link to comment
Share on other sites

Hi Tomasz,

Don't worry about the languages :yes: i think that the whole wide world is pretty messed up with languages & sub-languages :D !

I'm actually using spanish language but my genuine copy of w2k is italian lang. (ITA).

About my choice, i'd prefer to use my spare time in the effort to create a full version of UURollup (ITA)

Although i'd like to give my little contribute to the GLOBAL version, unfortunately my spare time isn't as much as a serious project deserve ;) !

So let me try with whtat seems to be the more intriguing choice (2)

Now, talking about instructions:

- analyse files present in UURollup (ENU) and check which of them are multilanguage / language neutral and which are English only

Which method is faster and practical ? Do you have some special trick or tool to suggest ?

- translate the English only files into ITALIAN

Which method is faster and practical ? Do you have some special trick or tool to suggest ?

Thanks and regards

Hackeronte

Link to comment
Share on other sites

@acus

Thanks again for testing :) I've just uploaded a new version of .NET 1.0 installer (netfx10) and an experimental version of .NET 2.0 Installer (netfx20). Frankly speaking, the more I test these packages, the more I'm amazed how fast they are compared to the official MSI based installers... This is how M$ should have prepared them from the beginning. They actually did it for .NET 1.0 and 1.1. The former is included in WinXP Tablet Edition and installed from an INF file. The latter is included in Win2003 Server and also installed by default from an INF file. OnePiece used them for his addons (and my instalers are based on OnePiece's addons). On the other hand, I don't think M$ has ever prepared INF based installers for .NET 2.0 and newer.

@Hackeronte

I'm sorry for a late reply but until tomorrow I'll try to provide you with some info and tips about how to easily compare and translate those files.

Edited by tomasz86
Link to comment
Share on other sites

@Hackeronte

I'm sorry for replying late once again.

I think you can easily check language version of the files using the following script. You will need filever.exe 5.0.2134.1. Download and copy it to your %systemroot%\system32 folder. After that unpack UURollup-v10 and run this script inside it:

FOR /F %%I IN ('DIR/A-D/B/S *.*') DO (
IF EXIST %systemroot%\system32\%%~nI%%~xI (
FOR /F "tokens=4" %%J IN ('filever.exe "%%I"') DO (
FOR /F "tokens=4" %%K IN ('filever.exe "%systemroot%\system32\%%~nI%%~xI"') DO (
IF "%%J"=="%%K" ECHO>>files.txt %%~nI%%~xI %%J
)
)
)
)

It will list all files from %systemroot%\system32 in your system which have got the same language version as the ones included in UURollup. By doing so we'll know which files can be used directly in the Italian Windows. Of course it's not a perfect method as it only checks files from one folder but still I think it's the best one to start with as many files can be excluded thanks to it. After that it will be necessary to check the rest of them and translate the ones that don't match (In the past I used to use PE Explorer to translate files but I think there must be a more efficient method though...).

Anyway, please first run the script and post the results :)

@acus

There's a bug in the .NET 2.0 installer. I'll fix it as soon as possible. I want to work on the .NET 1.1 installer first. Good news is that the .NET 1.0 installer is almost ready. I hope I'll be able to upload a final version shortly. I've also managed to prepare test versions of .NET 3.0 and 3.5. You can find them in the download archive. They require UURollup-v10 to be present in the system before installation.

Edited by tomasz86
Link to comment
Share on other sites

I've just uploaded the final versions of .NET 1.0 and 1.1 installers. They should install and uninstall 100% properly now. As always, I'll be very thankful for testing them.

netfx10_20120630.052857.7z

netfx11_20120630.052857.7z

Link to comment
Share on other sites

Hi tomasz,

ive downloaded filever.exe & put it in sistem32.

i've created testver.cmd with your script code & i´ve put it in Windows 2000-UURollup-v10-x86-ENU & run it but... heck ! :huh:

i haven't a single flie in sistem32 that match the files conteined in Windows 2000-UURollup-v10-x86-ENU

is that possible?

i haven't thoroughly analyzed the loop logic in your batch / cmd but it seems to be correct... did you ever tried it on your machine?

I've created the files.txt in sistem32 dir but it remain untouched explorer says 0 kb

waiting Acknowledgement...

waiting Acknowledgement...

waiting Acknowledgement... ... :yes:

regards,

hackeronte

Edited by Hackeronte
Link to comment
Share on other sites

I hope you meant "system32" not "sistem32"...? Of course I tested the script here! I wouldn't have uploaded it if I hadn't ;)

Let's do it like this:

1) First of all, unpack UURollup-v10 to a path with no spaces, ex. "D:\Windows 2000-UURollup-v10-x86-ENU".

2) Copy filever.exe to %systemroot%\sYstem32.

3) Try running this in the "D:\Windows 2000-UURollup-v10-x86-ENU":

filever.exe kernel32.dll>files.txt
FOR /F "tokens=4" %%I IN ("kernel32.dll") DO ECHO>>files.txt %%I

What's the output? The file "files.txt" should be created in the UURollup directory, not in system32!

Link to comment
Share on other sites

I have just uploaded a merged installer for .NET Frameworks 1.0, 1.1 and 2.0, i.e. netfx101120. Even though three different .NETs are included it's still only 35 MB :whistle:

Edit: I've also added detailed information about the USP to the first post.

Edited by tomasz86
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...