• 0

Windows 7 is windows vista v6.1!?


Question

I am programing a software to edit some windows seven features with java...

Well the most important thing is that the program should not run on any operating system other then windows 7

So what is the code to see if the os is windows 7?

I am using this code

		if(!System.getProperty("os.name").toLowerCase().equals("windows vista")||!System.getProperty("os.version").equals("6.1")){
		JOptionPane.showMessageDialog(null, "Win7Plus only works on windows 7", "Win7Plus",JOptionPane.PLAIN_MESSAGE);
		System.exit(0);
		}

Although it is working it still feels wrong!!!

i mean ---> System.getProperty("os.name").toLowerCase().equals("windows vista")

Am i doing this the write way or should i use another code????

Link to comment
Share on other sites

12 answers to this question

Recommended Posts

  • 0

In a way yes 7 is NT6.1 but in other ways it isn't. Its called 6.1 so it doesn't break compatibility with drivers and apps. And the fact 7 isn't important enough to warrant a whole one jump.

Link to comment
Share on other sites

  • 0

i think I'll stick with the code i am using now then.

thanks everyone for your replies.

Here is what i have done so far if anyone is interested to take a look.

it is only about 50 kb and need the jre

Editing file now...

Edited by Teddy*
Link to comment
Share on other sites

  • 0
Going by Kernel Version wont work, im not sure what else you'd use though since im not actually a programmer

It will work, because it is not the "kernel version." It is the version number for the operating system as a whole. If you want to know if it is Windows 7/R2, you check for 6.1. End of story.

As for the string "windows vista," no, 7 is not called "Windows Vista" anywhere. I don't know Java so I have no idea why that would work. Perhaps the JVM is running in compatibility mode and thus thinking it's running on Vista, or maybe it just hasn't been updated and thinks it's Vista because it has no idea 7 exists. This is a Java issue, not a Windows issue, and one you should probably try to get to the bottom of to make sure your program will actually work. In fact, I just tried to run your .jar on my Windows 7 machine and it fails with an error saying it only runs on Windows 7. This is with the latest JVM.

Link to comment
Share on other sites

  • 0

I've never believed this "backwards compatibility" line for one second--that's extremely inconsistent with MS's past history. Where's the relevant documentation to back that up on MSDN--because that's where it would matter (to developers), and I've only started hearing that line a few weeks before 7 was released. MS started publishing Win7 developer documentation for guidance months before that, and I've never seen that come from a source that targeted developers.

To the original poster--what "features" of Win7 are you editing? Do you really want to have to rewrite your detection code when Win8 comes out if your editing program still applies then? What about Server 2008? Is the fact that the ribbon API (for one) is getting backported to Vista relevant, and should your app then be made to work on Vista also?

For the longest time, MS has been strongly suggesting to look for the availability of features instead of coming up with crazy OS detection algorithms that can break when the next version is released.

Link to comment
Share on other sites

  • 0
I've never believed this "backwards compatibility" line for one second--that's extremely inconsistent with MS's past history. Where's the relevant documentation to back that up on MSDN--because that's where it would matter (to developers), and I've only started hearing that line a few weeks before 7 was released. MS started publishing Win7 developer documentation for guidance months before that, and I've never seen that come from a source that targeted developers.

It is true. Earlier example code (going back further than just a few months before the launch) even used 7.0. It's not very inconsistent, as they've done it with several previous versions as well. I have no idea why you feel this is something that would be documented now. It's not like it actually matters to anyone. The whole issue is stupid.

For the longest time, MS has been strongly suggesting to look for the availability of features instead of coming up with crazy OS detection algorithms that can break when the next version is released.

Yes, they do, but people never listen. Keeping the same major version (as they did with 2000/XP/2003) means a small amount of programs that would otherwise break unless they had compatibility shims applied now just work. That's the gain. Where's the loss? There isn't any, except for the moronic flame wars on the net. It's just a number, and it's hilarious to see people go on long rants about how "NO NO NO NO!!!! 6.1 is not the version number of the OS!!! It's really 7.0!!! 6.1 is just what the "kernel" tells you as a lie!!! Blah blah!!" as if it having the version number somehow meant that Windows 7 (the product name) was no longer Windows 7.

Link to comment
Share on other sites

  • 0
It is true. Earlier example code (going back further than just a few months before the launch) even used 7.0. It's not very inconsistent, as they've done it with several previous versions as well. I have no idea why you feel this is something that would be documented now. It's not like it actually matters to anyone. The whole issue is stupid.

Yes, they do, but people never listen. Keeping the same major version (as they did with 2000/XP/2003) means a small amount of programs that would otherwise break unless they had compatibility shims applied now just work. That's the gain. Where's the loss? There isn't any, except for the moronic flame wars on the net. It's just a number, and it's hilarious to see people go on long rants about how "NO NO NO NO!!!! 6.1 is not the version number of the OS!!! It's really 7.0!!! 6.1 is just what the "kernel" tells you as a lie!!! Blah blah!!" as if it having the version number somehow meant that Windows 7 (the product name) was no longer Windows 7.

The inconsistency part I'm referring to is the claim that the version number has been artificially kept to 6.x for compatibility purposes and nothing else.

I maintain that it's been kept at 6.x because from the kernel team's perspective, 7 is a relatively small jump ahead and not the huge architectural rewrite that going from 5.x to 6.x was[*] (or 4.x to 5.x before that).

The "compatibility" excuse is just something that was put out there by some marketing drone who wanted to dispel the growing notion that it's just a minor release and that if it weren't for compatibility's sake, they would otherwise have changed it to 7.0.

[*] Unlike others however, I certainly won't claim that little work has been made elsewhere--the biggest development effort just didn't take place in the kernel.

Link to comment
Share on other sites

  • 0

First of all, it is not just a kernel version number. It is the OS version. The two are not separate. This is not Linux. Second, 7/R2 has substantial changes to the "kernel" all the way to critical parts like the scheduler (which is extremely risky business). Third, there actually were pages that referenced 7.0 on MSDN, but these have since been removed (like all pre-release documentation), not that it matters.

What 7 doesn't have much of is breaking changes. That combined with the major compatibility problems Vista had means that justifying any avoidable compatibility issues this time around was next to impossible. Windows 7 is so critically important to Microsoft. It's that simple. If they could have justified it, I'm certain they would have given it the version number 7.0 so it would look nicer and distance it from Vista. This is what a PR guy would have done, and it's unlikely that he'd accept "the developers just don't feel that it's worth the jump" as a valid reason for not changing it.

There doesn't have to be any PR conspiracy here. I certainly agree that there are no breaking architectural changes and that it is in that sense a "minor" release, but I feel that you're really grasping at straws. The "excuse" given is a valid one, so there's no real reason to doubt it.

Link to comment
Share on other sites

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.