Jump to content

Visual Studio 2008 and Windows 9x


Recommended Posts

Posted

Microsoft Visual Studio 2008 was released late last year.

According to http://msdn2.microsoft.com/en-us/library/bb531344.aspx, Windows 9x is no longer a supported target platform:

The Windows 95, Windows 98, Windows ME, and Windows NT platforms are no longer supported. These operating systems have been removed from the list of targeted platforms.

The typical message upon running a VS2008 compiled application that uses 0x0500 in the WINVER macro is:

(For more information on WINVER macro see: http://msdn2.microsoft.com/en-us/library/aa383745.aspx)

Error Starting Program

The [full path of executable] file

expects a newer version of Windows.

Upgrade your Windows version.

Following this is:

[full path of executable]

A device attached to the system is not functioning.

This second information box would appear without the first if WINVER macro was still 0x0400 in a re-compiled source.

Either way, it no gonna run...

One person has determined that the Win32 API call GetSystemWindowsDirectoryW in KERNEL32.DLL was being referred to even with a simple application. See http://forums.microsoft.com/MSDN/ShowPost....93&SiteID=1

Maybe this is where a KernelEx solution could be useful.

This spells the end of new software for Windows 9x since most software developer for the Windows platform code in Microsoft C++ under Microsoft Visual Studio.

Windows APIs are taylored for C++ calling conventions and data types.

I personally code entirely using Microsoft Macro Assembler (MASM) which supports high level syntax and C++ conventions.

Contrary to popular belief, MASM is not just for writing modules to plug into C++.

It can be used to write an entire PE EXE, DLL, and so on. See here for more information: http://www.masm32.com

MASM version 8.00 that comes with Visual Studio 2005 still supports Windows 9x.

Has anyone looked into this problem?


Posted

Visual Studio 2005 was already the end for targeting Windows 95, actually. Compiled programs would look for an unsupported API because of the runtime. You could recompile it to not do this, though.

Posted
Visual Studio 2005 was already the end for targeting Windows 95, actually. Compiled programs would look for an unsupported API because of the runtime. You could recompile it to not do this, though.

I had heard that.

The problem with VS2008 is that you cannot just change compile options to get it working...

It simply will not work in Windows 9x.

It would be good to get some heads together over this one with the purpose of finding some kind of workaround for VS2008 compiled software.

As mentioned previously, maybe some concept like the way KernelEx operates by expanding the Windows 9x API set.

Even if those API functions are 'simulated' with close 9x functions or simply returning a successful status if applicable.

Posted
The problem with VS2008 is that you cannot just change compile options to get it working...

Neither could you with Visual Studio 2005. You had to recompile the actual C++ runtime!

Posted

Maybe then, this topic should be called Visual Studio 2008 and Visual Studio 2005 and Windows 9x...

In that case, KernelEx may already solve some VS2005 problems...

If I had time, I would do some work with the KernelEx source...

Time, time, time, never enough!

Posted
Has anyone looked into this problem?
Can anyone post source + output of some short program generated by VS2008 that is not working on 9x?
  • 1 month later...
Posted

I ran into a similar problem. See my post at VS 2008 and NT 4.0 (if the link doesn't work, search Google groups for "VS 2008 and NT 4.0").

I'm not sure if that helps you, but it worked for me. Not an elegant solution, but it does the trick (since that post, I do a post build step and modify the exe directly).

Posted

So, then, you've found another example of a downversion patch that works, this time on a PE file...

Awesome, jerichar99! :thumbup

And welcome to Win 9x/ME forum!

Posted

Hello!

I ran into a similar problem. See my post at VS 2008 and NT 4.0 (if the link doesn't work, search Google groups for "VS 2008 and NT 4.0").

I'm not sure if that helps you, but it worked for me. Not an elegant solution, but it does the trick (since that post, I do a post build step and modify the exe directly).

Thanks for great info. BTW, here is shorter link:

http://groups.google.com/group/Visual-Studio-NET-2005/browse_thread/thread/4fa74dafe3eb6ef5/

Regards, Roman

Posted (edited)
Hello!
I ran into a similar problem. See my post at VS 2008 and NT 4.0 (if the link doesn't work, search Google groups for "VS 2008 and NT 4.0").

I'm not sure if that helps you, but it worked for me. Not an elegant solution, but it does the trick (since that post, I do a post build step and modify the exe directly).

Thanks for great info. BTW, here is shorter link:

http://groups.google.com/group/Visual-Studio-NET-2005/browse_thread/thread/4fa74dafe3eb6ef5/

Regards, Roman

BTW, you can correct the checksum by using PEChksum, a small command-line app found as part of the freeware PESuite (info) (download link). HTH

Edited by dencorso
  • 3 weeks later...
Posted (edited)

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

KEX 0.3.3e applied to passthought the "requires newer version of windows"

vcsetup.exe of v2008 extracted with winrar.

Setup.exe missing exports:

kernel32.dll > HeapSetInformation

shell32.dll > SHCreateDirectoryExW

ole32.dll > CoWaitForMultipleHandlers

apphelp.dll > file missing (i try to add it manually)

userenv.dll > ExpandEnvironmentStringForUserW

Shell32.dll > SHBindToParent

advapi32.dll > InitiateSystemShutdownExW

secur32.dll > GetComputerObjectNameW

i believe that packages created directly by MS will be good source of information for us when it comes to identification of problem with exports.

Edited by Offler
Posted

thx. i will try it :) but i just wanted to post some missing exports from visual studio installer. M$ has all the dlls bound together so they are using them more as other programs.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
  • Recently Browsing   0 members

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