• 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
https://www.neowin.net/forum/topic/846114-windows-7-is-windows-vista-v61/
Share on other sites

12 answers to this question

Recommended Posts

  • 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*
  • 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.

  • 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.

  • 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.

  • 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.

  • 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.

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

    • No registered users viewing this page.
  • Posts

    • Dead by Daylight, Two Point Museum, and more join Xbox Free Play Days for the weekend by Pulasthi Ariyasinghe There is a brand-new Free Play Days offer available to Xbox players, giving them a chance to try out a new selection of games over the weekend. Microsoft's latest promotion brings some high-profile titles, including the sports title PGA TOUR 2K25 and the racing sim Assetto Corsa. Almost all the games being offered this time require an Xbox Game Pass subscription, with only one title being available for all players. Starting with the fully free-to-play section, Dead by Daylight is populating it solo. This asymmetric survival horror title should be the most familiar to most gamers, considering its age. The multiplayer four-versus-one asymmetric survival horror game has you assuming the roles of survivors or the killer to see who can come out on top. This Dead by Daylight offer will be available to play until Monday, June 22, giving you an extra day of play compared to the remainder of the Free Play Days titles. Meanwhile, Xbox Game Pass Ultimate, Premium, and Essential members can now try out the well-received tycoon game Two Point Museum, the circuit racing sim Assetto Corsa, as well as 2K's golf sim experience that gives players a career to develop alongside real-world pros and courses. Here are the announced games and the platforms they are available to play on: PGA TOUR 2K25 (Xbox Series X|S) Two Point Museum (Xbox Series X|S) Assetto Corsa (Xbox Series X|S, Xbox One) Dead by Daylight (Xbox Series X|S, Xbox One) To easily find the titles on Xbox consoles, first head to the Store, and then in the sidebar, find the Home section. In there, open the Subscriptions tab. All the games from the Free Play Days collection will show up in this section for quick access. Apart from Dead by Daylight's offer, this week's Free Play Days promotions will end on Sunday, June 21, at 11:59 pm PT.
  • Recent Achievements

    • Week One Done
      Huge Trailer earned a badge
      Week One Done
    • Week One Done
      Classifyskilleducation earned a badge
      Week One Done
    • One Month Later
      eurospharma62 earned a badge
      One Month Later
    • Week One Done
      With What earned a badge
      Week One Done
    • Week One Done
      Harris Gilbert earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      589
    2. 2
      +Edouard
      171
    3. 3
      PsYcHoKiLLa
      74
    4. 4
      Michael Scrip
      65
    5. 5
      neufuse
      64
  • Tell a friend

    Love Neowin? Tell a friend!