DOTNET getting .net 3.5 to work on 2k

Windows 2000 fixes and solutions for apps

DOTNET getting .net 3.5 to work on 2k

PostPosted by charlieb000 » Sun Nov 21, 2010 6:23 am

hello all,
this information can help compatibility dramatically. i recently found information on this at
http://rainstorms.me.uk/blog/2008/03/26 ... 00-test-1/
He suggests to copy files from a computer with .net on it already and copy files over as the 2000 computer demands it.
i thought why not copy all the files from the setup, so i got the 231Mbyte .net3.5 sp1 download (besides the ones he said to get). and put my progress in his blog (filling it!)

i have already Rollup1 (may be useful here)
i installed .net 2 sp1 from the independant installation file
i extracted all the files from the .net 3.5 sp1 into a directory using IZarc

there are five subfolders, dotnetFX20 , dotnetFX30, dotnetFX35, dotnetMSP and tools

ideally after running the 3.5 update and it sits on the error-windows 2000, we need a program to actually install all the files while it has them extracted!

i did the 3.0 folder, i moved all the files containing 64 so i dont install the 64bit ones, if you have a 64 computer there are files that have nothing and 32 and 64, i am not sure if you need the nothing ones, do them first then the 64′s. i installed all the remaining ones, nothing and 32, first the MSI files and then the MSP and i got no error except with WPF_Other_32.msp where it says i need sufficient privileges to install system services (so i skipped it - perhaps you know how to do it). now interestingly i do see “Microsoft .Net Framework 3.0 Service Pack 2″ in my add/remove programs…… i then ran the exe files in the 30 folder for good measure, the WIC file worked and the other XPSEPSC wanted XP (about something called xpsdriver, KB954550).

the MSP folder contains files that relate to cumulative updates for 2.0 (which you have probably have already in sp1) and 3.0 ( KB948610 ) i cannot make sense of the CAB files inside so forget it, plus i checked the individual KB items for 3.0 cumulative on the MS site and they were made before service pack 2. so no need to chase up on this cumulative update thing…

for DOTNET 3.5, i extracted Netfx35_x86.exe which got me vs_setup.msi which wants to be launched by "setup.exe" so i run Orca.

in orca i found under the CustomAction table an Action called CA_BlockDirectInstall_MSI .. .. .. so i cut it out then saved the file. and it works.

now i have .NET framework 3.5 SP1 and its Hotfix in add/Remove.

my search lead me to this site because of an error in Paint.NET (my .NET test program) but im not sure about using a wrapper yet.

the .net 4.0 setup error is "is not a valid win32 application" along with the setup inside it. although i suspect a wrapper may be needed, it would need to be permanent and i dont think anyone here wants to make anything that is permanent (they first have got to combine the functions of OCW and KDW to make a more complete one). if i remove the wrapper after installing 4 my system may not work (that is if the wrapper even works - if it dont then thats more improvement work for you guys.). i used a program called PEtools and it only fixed the setup inside so now it says "...EnumerateTraceGuids could not be located in ... ADVAPI32.dll"

so now i have .NET and nothing to use with it.... this maybe useful for other people out there...

a final note, in future posts, everyone write "DOTNET" as i cannot search for .net as it only has three letters.
---
a utility that .net 3.5 installs is "windows CardSpace" in control panel, it wont run: RUNDLL: Error loading C:\WINNT\System32\infocardcpl.cpl The specified procedure could not be found. finding infocard.exe in the WINNT\Microsoft.NET\Framework\v3.0\W..C..F..\ folder and running it gives me the error "the procedure entry point I_RpcBindingInqLocalClientPID could not be located in the dynamic link library RPCRT4.dll
Last edited by charlieb000 on Sun Nov 21, 2010 12:11 pm, edited 4 times in total.
charlieb000
 
Posts: 11
Joined: Sun Nov 21, 2010 2:05 am

Re: DOTNET getting .net 3.5 to work on 2k

PostPosted by justjohnny » Sun Nov 21, 2010 10:57 am

Gday Charlie,

Nice work mate. By the way you can use a free program called Dependency Walker to check to see if .Net is missing any functions that would normally be in WinXP but are missing in Win2K and as such would require the use of a wrapper. You can post logs here in the forums and the other forum users can analyse it for you. There are guides on how to use Dependency Walker. If you get stuck or need any help just post your questions.

In fact your post has just given me an excellent idea, I'll post about it elsewhere.
justjohnny
 
Posts: 217
Joined: Mon Apr 12, 2010 7:25 am


Re: DOTNET getting .net 3.5 to work on 2k

PostPosted by justjohnny » Mon Nov 22, 2010 10:26 am

charlieb000 wrote:a utility that .net 3.5 installs is "windows CardSpace" in control panel, it wont run: RUNDLL: Error loading C:\WINNT\System32\infocardcpl.cpl The specified procedure could not be found. finding infocard.exe in the WINNT\Microsoft.NET\Framework\v3.0\W..C..F..\ folder and running it gives me the error "the procedure entry point I_RpcBindingInqLocalClientPID could not be located in the dynamic link library RPCRT4.dll

Hi Charlie,

Use a program called Dependency Walker and profile the application and then save the profiled session and then upload it to http://www.sendspace.com/ and then post the link here.
justjohnny
 
Posts: 217
Joined: Mon Apr 12, 2010 7:25 am

Re: DOTNET getting .net 3.5 to work on 2k

PostPosted by charlieb000 » Sat Mar 19, 2011 9:29 am

i am back,
at the time i didnt understand the program, i still dont really,
but just letting you know that dependency walker's profiling dont work for CPL files, plus i dont really need it.

justjohnny wrote:Hi Charlie,

Use a program called Dependency Walker and profile the application and then save the profiled session and then upload it to http://www.sendspace.com/ and then post the link here.
charlieb000
 
Posts: 11
Joined: Sun Nov 21, 2010 2:05 am

Re: DOTNET getting .net 3.5 to work on 2k

PostPosted by OldBoy2k » Sat Mar 19, 2011 1:26 pm

charlieb000 wrote:i am back,
at the time i didnt understand the program, i still dont really,

Pls,go ahead and ask.You could help me to complement the guide :D.

charlieb000 wrote:but just letting you know that dependency walker's profiling dont work for CPL files, plus i dont really need it.

That's not correct.Dependency Walker also works for (most) CPL files.Those are executable Control Panel Applet files which get differently registered in windows.

BR
OldBoy2k
OldBoy2k
 
Posts: 1351
Joined: Fri Feb 15, 2008 5:10 pm

Re: DOTNET getting .net 3.5 to work on 2k

PostPosted by charlieb000 » Wed Aug 15, 2012 9:22 am

silly me i should have also done DW on dotnet 4, too.

i have a dot net 4 app i want to run :)
i think i have patched dlls in place so some may have been fixed, but the following proceedures are missing from my system:
in MPR.dll, WNetRestoreConnectionA
in APPHELP.dll, ApphelpCheckShellObject (symbol: question mark) elsewhere, "cannot find the file"
in SHELL32.dll, SHGetFolderPathAndSubDirW
in ADVAPI32.dll, EnumerateTraceGuids


when you say to send the profiled session, you mean the XX.dwi file?

im not sure if i should bother to try with dotnet 4 as you probably have tried already...
maybe i should copy plenty of XP files into one of the PATH folders, may work then...


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
these three lines are about the above.

Error: At least one module has an unresolved import due to a missing export function in an implicitly dependent module.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.


Starting profile on 15/08/2012 at 7:13:56 PM

Operating System: Microsoft Windows 2000 Professional (32-bit), version 5.00.2195 Service Pack 5B
Program Executable: k:\4a61acda18257dc646882a\SETUP.EXE
Program Arguments: \x86
Starting Directory: K:\4a61acda18257dc646882a\
Search Path: C:\XPDLL;Z:\Winnt\system32;Z:\Winnt;Z:\Winnt\system32\wbem;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Common Files\Ulead Systems\MPEG;C:\Program Files\ATI Technologies\ATI.ACE\

Options Selected:
Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable.
Log DllMain calls for process attach and process detach messages.
Hook the process to gather more detailed dependency information.
Log LoadLibrary function calls.
Log GetProcAddress function calls.
Log debug output messages.
Automatically open and profile child processes.
--------------------------------------------------------------------------------

Started "SETUP.EXE" (process 0x864) at address 0x00400000. Cannot hook module.
Loaded "NTDLL.DLL" at address 0x77F80000. Cannot hook module.
Loaded "KERNEL32.DLL" at address 0x7C570000. Cannot hook module.
Loaded "SETUPENGINE.DLL" at address 0x10000000. Cannot hook module.
Loaded "ADVAPI32.DLL" at address 0x7C2D0000. Cannot hook module.
Loaded "RPCRT4.DLL" at address 0x77D30000. Cannot hook module.
Second chance exception 0xC0000139 (DLL Not Found) occurred in "NTDLL.DLL" at address 0x77FAC574.
Exited "SETUP.EXE" (process 0x864) with code 128 (0x80).


Charlie.
charlieb000
 
Posts: 11
Joined: Sun Nov 21, 2010 2:05 am

Re: DOTNET getting .net 3.5 to work on 2k

PostPosted by OldBoy2k » Thu Aug 16, 2012 2:23 pm

charlieb000 wrote:silly me i should have also done DW on dotnet 4, too.
i have a dot net 4 app i want to run :)
i think i have patched dlls in place so some may have been fixed, but the following proceedures are missing from my system:
in MPR.dll, WNetRestoreConnectionA
in APPHELP.dll, ApphelpCheckShellObject (symbol: question mark) elsewhere, "cannot find the file"
in SHELL32.dll, SHGetFolderPathAndSubDirW
in ADVAPI32.dll, EnumerateTraceGuids


in MPR.dll, WNetRestoreConnectionA
in APPHELP.dll, ApphelpCheckShellObject (symbol: question mark) elsewhere, "cannot find the file"

-> don't bother these.

Shelll missing export is covered by OldCigarettes and BlackWingCats Wrapper
Advapi missing export is covered by BlackWingCats Wrapper

-> use http://msdn.microsoft.com/library/default.aspx to search for a API and it will list the minimum supported operating system. Don't bother API's listed for Vista/7.

charlieb000 wrote:when you say to send the profiled session, you mean the XX.dwi file?

yep, but profiled, which means you need to run a executable and save the DWI.

.net Frameworks 4.0
The reason for replacing blackwingcat's Kernel32.dll is that it is incompatible with .NET Framework 4.0 (thanks tomasz86).
AFAIK .net 4.0 is working on Win2k but BlackWingCats Kernel isn't compatible with .NET Framework 4.0. Dunno if he fixed it. Maybe BlackWingCat or Tomasz86 respond and explain how to get .net 4.0 working.
Windows 2000 Service Pack 4 Updates for HFSLIP page

maybe i should copy plenty of XP files into one of the PATH folders, may work then...

You have to check which APIs are really important and required. Copying plenty of XP files will probably get you lots of dead API ends.

BR
OldBoy2k
OldBoy2k
 
Posts: 1351
Joined: Fri Feb 15, 2008 5:10 pm

Re: DOTNET getting .net 3.5 to work on 2k

PostPosted by tomasz86 » Sat Aug 18, 2012 2:51 am

.NET Framework 4.0 does not work in Windows 2000 :(

Fixing the dependencies doesn't help. It's possible to install .NET Framework 4.0 using a modified version of OnePiece's true addon (don't even try with the official MSI installer, it's a waste of time). The problem is that almost all programs relying on .NET 4.0 will crash anyway. In case of the BWC kernel it's not even possible to run any of them, when using the WB kernel it is possible but they crash.

For example, this happens when trying to run "msbuild.exe" from .NET 4.0:

Code: Select all
MSBUILD : error MSB1025: An internal failure occurred while running MSBuild.
System.ArgumentException: The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))
   at System.Globalization.TextInfo.InternalChangeCaseString(IntPtr handle, String localeName, String str, Boolean isToUpper)
   at System.Globalization.TextInfo.ToUpper(String str)
   at System.String.ToUpper(CultureInfo culture)
   at System.Diagnostics.FileVersionInfo.ConvertTo8DigitHex(Int32 value)
   at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
   at Microsoft.Build.Evaluation.ProjectCollection.get_Version()
   at Microsoft.Build.CommandLine.MSBuildApp.DisplayCopyrightMessage()
   at Microsoft.Build.CommandLine.MSBuildApp.ProcessCommandLineSwitches(CommandLineSwitches commandLineSwitches, String& projectFile, String[]& targets, String& toolsVersion, Dictionary`2& globalProperties, ILogger[]& loggers, LoggerVerbosity& verbosity, List`1& distributedLoggerRecords, Boolean& needToValidateProject, String& schemaFile, Int32& cpuCount, Boolean& enableNodeReuse, TextWriter& preprocessWriter, Boolean& debugger, Boolean& detailedSummary)
   at Microsoft.Build.CommandLine.MSBuildApp.Execute(String commandLine)
Image
tomasz86
 
Posts: 9
Joined: Tue Jun 19, 2012 3:33 pm

Re: DOTNET getting .net 3.5 to work on 2k

PostPosted by BlackWingCat » Tue Aug 21, 2012 2:55 pm

n4g.png

On My extenede Kernel v20k4 MSBuild.exe seems to work :)
tomasz86 wrote:.NET Framework 4.0 does not work in Windows 2000 :(

Fixing the dependencies doesn't help. It's possible to install .NET Framework 4.0 using a modified version of OnePiece's true addon (don't even try with the official MSI installer, it's a waste of time). The problem is that almost all programs relying on .NET 4.0 will crash anyway. In case of the BWC kernel it's not even possible to run any of them, when using the WB kernel it is possible but they crash.

For example, this happens when trying to run "msbuild.exe" from .NET 4.0:

Code: Select all
MSBUILD : error MSB1025: An internal failure occurred while running MSBuild.
System.ArgumentException: The parameter is incorrect. (Exception from HRESULT: 0x80070057 (E_INVALIDARG))
   at System.Globalization.TextInfo.InternalChangeCaseString(IntPtr handle, String localeName, String str, Boolean isToUpper)
   at System.Globalization.TextInfo.ToUpper(String str)
   at System.String.ToUpper(CultureInfo culture)
   at System.Diagnostics.FileVersionInfo.ConvertTo8DigitHex(Int32 value)
   at System.Diagnostics.FileVersionInfo.GetVersionInfo(String fileName)
   at Microsoft.Build.Evaluation.ProjectCollection.get_Version()
   at Microsoft.Build.CommandLine.MSBuildApp.DisplayCopyrightMessage()
   at Microsoft.Build.CommandLine.MSBuildApp.ProcessCommandLineSwitches(CommandLineSwitches commandLineSwitches, String& projectFile, String[]& targets, String& toolsVersion, Dictionary`2& globalProperties, ILogger[]& loggers, LoggerVerbosity& verbosity, List`1& distributedLoggerRecords, Boolean& needToValidateProject, String& schemaFile, Int32& cpuCount, Boolean& enableNodeReuse, TextWriter& preprocessWriter, Boolean& debugger, Boolean& detailedSummary)
   at Microsoft.Build.CommandLine.MSBuildApp.Execute(String commandLine)
BlackWingCat
 
Posts: 75
Joined: Sat Mar 07, 2009 7:20 am
Location: Kanagawa, Japan

Re: DOTNET getting .net 3.5 to work on 2k

PostPosted by tomasz86 » Wed Aug 22, 2012 6:30 pm

This is fantastic news! Thank you very much, BlackWingCat :D
Image
tomasz86
 
Posts: 9
Joined: Tue Jun 19, 2012 3:33 pm


Return to Backporting Applications

Who is online

Users browsing this forum: No registered users and 0 guests

cron