VOGONS

Common searches


First post, by Wallace

User metadata
Rank Newbie
Rank
Newbie

As usual, Micros...t introduced idiotic "features" to its OS, and one of those in XP is its stupid answer to "ver" in any console program... for that reason, some command line programs that otherwise work perfectly complain about "incorrect DOS version" when they're ran. Most still work, but it's annoying. Is there anything that fakes XP's response to ver with a proper version number (maybe 8.0? 😀?

Reply 2 of 10, by Wallace

User metadata
Rank Newbie
Rank
Newbie

This one seems useless, actually... it needs to be ran every time, it seems to open its own shell (?) and it's incompatible with FAR, which I use. Anyway, I was looking for something that would permanently change XP's response to "ver"... perhaps something like a modified system library (I have no idea where this is stored right now - apparently not in cmd.exe)

Reply 3 of 10, by CKeene

User metadata
Rank Newbie
Rank
Newbie

Uh, how is that an idiotic feature? It is reporting the correct OS version, that is what it's supposed to do. Second of all that's not DOS, Windows XP is based on NT and does not have any trace of DOS at all. That is just a command shell. Calling it DOS 8.0 would be completely and totally wrong. XP does have the ability to emulate DOS so it will run many DOS programs but for those that don't you should be using something like DOSBox anyway (or update your ancient command line utilities).

This isn't exactly anything new anyway. Way back in the days of DOS there was a very important reason for the "Incorrect DOS Version" message. It was to keep you from completely destroying your system by using an older incompatible utility for one thing. For programs that you knew would be ok there was the setver utility. Thanks for the utility but going off on Microsoft like that was unwarranted.

Reply 4 of 10, by alexanrs

User metadata
Rank l33t
Rank
l33t

Uh, how is that an idiotic feature? It is reporting the correct OS version, that is what it's supposed to do. Second of all that's not DOS, Windows XP is based on NT and does not have any trace of DOS at all. That is just a command shell. Calling it DOS 8.0 would be completely and totally wrong. XP does have the ability to emulate DOS so it will run many DOS programs but for those that don't you should be using something like DOSBox anyway (or update your ancient command line utilities).

Windows NT/2000/XP actually do not report the correct DOS system version because they are not DOS based. Windows NT/2K/XP MS-DOS emulator actually reports itself as the ancient MS-DOS 5.0. Some DOS applications from the Windows 9x era checks for DOS 7.0/7.10 subsystem, ans so they will not run on an NT based OS, even if the interrupts it requires do exist in the NT DOS emulated subsystem.
Also, this version reporting does not have anything to do with the "VER" command, because it is only a shell message displayed by CMD.EXE or COMMAND.COM. It is related to internal version reporting. In C++ and C, for example, the DOS version is provided by the _osmajor and _osminor global variables.

Reply 5 of 10, by alexanrs

User metadata
Rank l33t
Rank
l33t

Sorry for the double post but I found no way to edit the previous.
Windows 2000 (and probably XP) ships with SETVER.EXE utility that is able to fool applications to make them think they are in a specific DOS version, like the SETVER.EXE from DOS. Simply open config.nt (inside Windows\System32 in XP) and add the following line:
device=%SystemRoot%\system32\setver.exe

in any place, but I like putting it below the himem.sys line. Save and close.
After that open the command prompt and then type "SETVER ???????.EXE 7.10" where ???????.EXE is the executable name and 7.10 is the version you want. It will ask you to reboot but I doubt you'll need to do this. I think you only need to close the prompt and then open your program (by double clicking). I did not test if the SETVER really does what it is intended but I've verified that it loads correctly.

EDIT: Discovered the small button that lets you edit your post

EDIT2: Tested and it works. You just have to make sure SETVER is in config.nt, close all Command prompts, start a new one, type the "SETVER (...)" linbe I mentioned before, close the command prompt windows again, start a new one and it is done

Last edited by alexanrs on 2005-10-19, 15:47. Edited 1 time in total.

Reply 6 of 10, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Just for reference, you can edit posts by clicking the little circle button on the upper-right corner of the post. No problem double-posting though as long as it's not spam.

I think those buttons should be turned into larger buttons with text that are placed along the bottom of the post next to the "new" and "re:" buttons. That's all up to Snover though.

Reply 8 of 10, by alexanrs

User metadata
Rank l33t
Rank
l33t
CKeene wrote:

Uh, how is that an idiotic feature? It is reporting the correct OS version, that is what it's supposed to do.

CKeene: I answered that way because it is weird for XP to be able to report the correct DOS version when the OS which version is requested is not even being executed (and may not even be installed), so I didn't even pay much attention in the sentence after that (when you said XP is not DOS based) and started answering.