Jump to content

Visual Studio 2008 and Windows 9x


RetroOS

Recommended Posts

i have to learn C++ for my next job so i tried to install VS C++ 2005 and 2008. no installation was sucessful but... [...]

Why not go back somewhat further and install Microsoft Visual Studio 6.0, which is known to work OK (I do use it) or even MS VS 2003, which some say does work? You'll learn C++ just the same, and won't have to worry about compatibility issues, 9x/ME- wise. ;)

Link to comment
Share on other sites

  • 3 months later...

Would be nice if someone could make a patcher to "fix" files compiled in vc2008 to work on win98.

There are actually some patches, but here is what I think may be a better approach:

Legacy Extender for Visual Studio 2005/2008 (www.legacyextender.com)

Visual Studio references not only functions which do not exist in old Windows, but also some functions which exist, but which do not work (like Unicode functions in Windows 95). Legacy Extender includes a linkable library which takes care about all of these. The library approach also has the benefit of being compatible with code optimization. Post-build patches are not.

The second thing that Legacy Extender does is like EditVersion.exe (once provided by Microsoft): it has a command line tool to edit the subsystem version (Visual Studio writes 5.0, but you want it to be 4.0 to run on systems older than Windows 2000). Unlike some patches it also recalculates the checksum. It's not true that the checksum is not checked by Windows, it is necessary to be correct for some drivers and boot DLLs, and you never know if Microsoft or some antivirus software decide to be more strict against binaries with bad checksums in the future.

Link to comment
Share on other sites

Seeing that this thread has been revived, now is a good time to throw some information on the table ...

Some of the most important utilities for Win9x sadly went toe-up several months ago when the author began compiling with Visual Studio 2008. Those utilities of course are the excellent System Internals applications: Process Explorer, AutoRuns and no doubt everything that Mark Russinovich (System Internals / Microsoft) gets around to updating. :angry:

Folks can look back to May 28, 2008 to follow events as they happened on this System Internals thread: Process Explorer v11.12 on Windows 9x/Me.

The discussion includes links which eventually get you to the next pertinent System Internals thread: EXEs created by VisualStudio2008 vs Win4.0. There, member steelbytes has reported some success in patching already compiled apps and also recompiling differently. He directs us to www.SteelBytes.com with specific code examples here.

The very latest development appears to be this LegacyExtender announced by the same member takeos that appears two posts above me here. While he/she sounds very confident in their approach, they seemed to have left out describing what if anything this will cost, and to whom? I would like to second the motion by BenoitRen as to what is getting replaced? It seems to me that *either* individual developers using VS2008 would be their 'customers' and manually tweak their installations (like we did back in the day with Curses, etc) or Microsoft itself would be their sole customer and incorporate this idea into VS2008 distributions, effectively restoring backwards compatibility defeating their obvious planned obsolescence. @takeos, can you shine some light on this? Please correct my mis-understandings. No flames intended, just asking!

If we consider the KernelEx developments (someone please ping them), we have three distinct avenues to keeping this Operating System alive and healthy at least for a while. Things do appear bleaker now, as I do not see folks like Mark Russinovich throwing out VS2008 for VS6 or later, and its doubtful he'd do us a favor by LegacyExtending his installation.

But I pray I am wrong!

Link to comment
Share on other sites

While he/she sounds very confident in their approach, they seemed to have left out describing what if anything this will cost, and to whom?

Would something like $29.95 (individual developer license) be too much in your opinion? Some corporate developers might not even take it seriously at that price, while for others anything more than free would be too expensive. I exchanged ideas about the possible pricing. A small price would still give customers technical support and updates, i.e. if new functions emerge, they would likely be added to the library, etc.

Legacy Extender is not as vast as KernelEx. It focuses on what Visual Studio adds or breaks that the developer did not want in the first place. If the developer used some other XP-only functions on purpose, Legacy Extender will not help much. On the other hand, Legacy Extender is great if you already have a "legacy" project, and simply want to update the compiler, and you thought the only way was to run two different versions of Visual Studio.

I doubt that Microsoft would be interested (as a customer), because they have demonstrated that they do not care about legacy compatibility. To the contrary, it seemed to me that they introduced or at least supported incompatibility on purpose. Do you remember how Visual Studio 2005 became incompatible with Windows 95? At the time it did not really break much. It would not have taken more than a few hours of work for Microsoft to retain compatibility by just not using certain functions. Lots of programmers had proposed solutions, patches, etc. I proposed one to Microsoft myself after I filed a bug report (I thought it was a bug!), they filed the "bug" as something like "by design" and closed the case!

As for whether it works or not, it's currently being tested in public. Anyone can access it. You are free to decide for yourself, provide feedback, etc.

Just my two cents!

Link to comment
Share on other sites

...

The discussion includes links which eventually get you to the next pertinent System Internals thread: EXEs created by VisualStudio2008 vs Win4.0. There, member steelbytes has reported some success in patching already compiled apps and also recompiling differently. He directs us to www.SteelBytes.com with specific code examples here.

...

I did get around to making a patcher for compiled code that works for me ExeVersion

it does have some current limitations - eg, only release mode without function level linking. but that's just fine for what I need :-)

Link to comment
Share on other sites

@takeos, thanks for that information. I was just trying to understand these various strategies to restoring backwards compatibility to apps that have no valid reason for failing to execute under Win9x. Both you and steelbytes are clearly on the good guys team, standing against these unnecessary winds of change.

Would something like $29.95 (individual developer license) be too much in your opinion? Some corporate developers might not even take it seriously at that price, while for others anything more than free would be too expensive. I exchanged ideas about the possible pricing. A small price would still give customers technical support and updates, i.e. if new functions emerge, they would likely be added to the library, etc.

Price sounds reasonable to me and I wish you much success. Speaking only for myself, I have yet to get Visual Studio 2008 but have almost everything prior, and will likely not use anything beyond VS6 personally because of all the time spent tweaking the libraries, options, editors and tools. Should that change I will no doubt grab your add-in.

I doubt that Microsoft would be interested (as a customer), because they have demonstrated that they do not care about legacy compatibility. To the contrary, it seemed to me that they introduced or at least supported incompatibility on purpose. Do you remember how Visual Studio 2005 became incompatible with Windows 95? At the time it did not really break much. It would not have taken more than a few hours of work for Microsoft to retain compatibility by just not using certain functions. Lots of programmers had proposed solutions, patches, etc. I proposed one to Microsoft myself after I filed a bug report (I thought it was a bug!), they filed the "bug" as something like "by design" and closed the case!

Fully agree. This is certifiable planned obsolescence. I hope you are a MSDN member and figure out a way to publicize within the community. I find that the coders there, even Microsoft employees have much more sense than the suits who are making these stupid decisions.

I also hope that you can get Mark at System Internals to at least consider trying it. We can certainly survive on Win9x with older versions of AutoRuns (the startup areas are well-known), but Process Explorer is a definite loss. :angry: IMHO, he should compile that one for both platforms. It might help if other interested Win9x users would Contact Mark Russinovich with their suggestions.

Oh, you may want to look at a very important sticky thread here Last Versions of Software for Windows 98SE, + Current Software Still Supported. You might view this is as a potential goldmine of clients, well at least those that use Visual Studio. Maybe even the FireFox problem might be of interest to you.

To avoid hijacking this thread further, I'll eventually start a new one here that completely inventories the various System Internal utilities that still work in Win9x and those that have been recently euthanized by Visual Studio 2008. That would be a good place to chronicle any successes with steelbytes patcher against the compiled files.

Link to comment
Share on other sites

Hi, all! If anybody need it for some reasons (i don't know for why, i made it just for fun) then i have repacked distributive of "Visual C++ 2008 Redistributable Package" (SP0) for 9x only with deinstalling ability - http://ifolder.ru/5057911 (requires KernelEx already installed!)

And i have also three unofficial packs for Visual C++ 7.x Runtimes made in accordance to vcredist.exe (VC++6.0RP)

1. http://ifolder.ru/13373894 Unofficial Visual C++ 7.0 (2002) SP1 Redistribution Pack for Windows 95-Vista

2. http://ifolder.ru/13373908 Unofficial Visual C++ 7.1 (2003) SP1 Redistribution Pack for Windows 95-Vista

3. http://ifolder.ru/13373471 Unofficial Visual C++ 7.x (200x) SP1 Redistribution Pack for Windows 95-Vista (7.0 + 7.1 in-one)

Note: installation totally quiet, without any dialogs (like in vcredist.exe) and begins right after start

Files for Visual C++ 7.x packs were taken from original releases of Visual Studio .NET 2002-2003 and from official updates for it in Microsoft Download Center (KB924642, KB927696, KB932298, KB932304).

All packs are working and tested on all specified OS's (95-Vista) but i don't give any warranties for it, use at your own risk.

Thanks for attention and sorry for my bad english. :)

Edited by Advanced User
Link to comment
Share on other sites

Hi, all! If anybody need it for some reasons (i don't know for why, i made it just for fun) then i have repacked distributive of "Visual C++ 2008 Redistributable Package" for 9x only with deinstalling ability - http://ifolder.ru/5057911

And i have also three unofficial packs for Visual C++ 7.x Runtimes made in accordance to vcredist.exe (VC++6.0RP)

1. http://ifolder.ru/5039486 Unofficial Visual C++ 7.0 Redistribution Pack for Windows 95-XP

2. http://ifolder.ru/5039515 Unofficial Visual C++ 7.1 Redistribution Pack for Windows 95-XP

3. http://ifolder.ru/5045898 Unofficial Visual C++ 7.x Redistribution Pack for Windows 95-XP (7.0 + 7.1 in-one)

Note: installation totally quiet, without any dialogs (like in vcredist.exe) and begins right after start

All packs are working and tested on all specified OS's (95-XP) but i don't give any warranties for it, use at your own risk.

Thanks for attention and sorry for my bad english. :)

Hello Advanced User ...

Just wondering if you have a non-EXE solution (ZIP/RAR/7Z)? Alternatively, are they possibly INNO setups (which are easily extracted manually) or perhaps you inserted a: "/SWITCH" of some kind to manually extract?

I hate to run EXE setups when I know exactly where to put the files myself.

EDIT: ... dude, your English is great. Much much better than my Russian. Speaking of which, I cannot figure out how to download from those pages! Can you explain?

Edited by CharlotteTheHarlot
Link to comment
Share on other sites

I hate to run EXE setups when I know exactly where to put the files myself.

Not a problem because all files packed in cab installer and it can easily unpacked by WinRAR, but all usefulness of this packs just concluded in installing feature, so if you don't like to use setups then you don't need this packs. :)

I cannot figure out how to download from those pages! Can you explain?

There are two variants of downloading. With viewing the advertisment and without it. Look the instruction screens for both that cases: 1, 2.

Link to comment
Share on other sites

RetroOS: From the link you provided about kernel32.dll,

Is there a work-around?

Yes. My preferred workaround is the Legacy Extender library which you can link to and it will include the required functions to make the code work on Windows 9x/Me/NT4:

Legacy Extender for Visual Studio 2005/2008 (www.legacyextender.com)

You can build with Visual Studio 2008 (SP1 too) and the project will then run fine even on a vanilla Windows 95 box.

Legacy Extender is not a quick patch, it is a supported and tested solution. It is compatible with code optimization, and it recalculates the checksum when you edit the post-build version.

(Conflict of interest: I was involved in testing Legacy Extender!)

NOTE: Per the previous sentence, I just copied it here, I wasn't involved in the testing. It was the person who posted

this comment.

On a similar issue for kernel32.dll errors being generated when I try to install googletoolbar v4.0.1602.1060 IE beta

on a Win 2k Pro SP4 system. I get this error which prevents it being installed.

The procedure entry point WTSGetActiveConsoleSessionId could not be found in the dynamic link library

Kernel32.dll.

And also this one.

GoogleUpdater could not load the file ci.dll. Please reinstall GoogleUpdater to fix this issue.

Of course I'm trying to reinstall it which I can't due to these errors.

So, is my problem above due to Visual Studio 2008 not supporting Win 2K anymore? If so, then

the Google Toolbar people must being using VS 2008 although they say the toolbar can be installed

on a win 2K machine. :(

Edited by mikesw
Link to comment
Share on other sites

You can build with Visual Studio 2008 (SP1 too) and the project will then run fine even on a vanilla Windows 95 box.
God ****. Show me who wrote that, i'll burn them with fire.

http://forums.msdn.microsoft.com/en-US/vcg...4-f1a40e8a3bb3/

Go to user 'mcb' dated Aug 25,2008. It currently is the last post here.

Let the flames start burning. :whistle:

I think he meant with www.legacyextender.com software

Edited by mikesw
Link to comment
Share on other sites

I believe the traffic is now restricted to Russian-only domains. :(

Could you please use a non-restrictive host, such as uploaded.to, rapidshare.com or similar?

На данный момент иностранный трафик у этого файла превышает российский.
Link to comment
Share on other sites

Could you please use a non-restrictive host, such as uploaded.to, rapidshare.com or similar?

Dаmn, I have only now found out that Rapidshare has Collector's Zone service with downloads control ability. :blushing: Then forget for instructions which i gave above, here are new rapidshare links: 2008 - 7.0 - 7.1 - 7.x

Edited by Advanced User
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...