PDA

View Full Version : OS Version Checking Suggestion



NewsArchive
09-18-2011, 07:51 AM
I use OS version checking to make sure someone doesn't try and install
my application on anything older than Win2000.

Just trying out the Windows 8 preview and I got blocked by my own OS check.

Would it be a good idea to add an option to the OS Version Checking,
something like "Anything newer". Most Windows OS's have been backwards
compatible. So Win 7 will happily install and run a Win95 Application I
stopped working on 12 years ago, but not if my installer of 12 years ago
didn't know about Win 7 and blocks me from installing it.
--
Simon Craythorn
InterVations, Inc
http://www.intervations.com

NewsArchive
09-18-2011, 07:53 AM
Hi Simon,

> I use OS version checking to make sure someone doesn't try and install
> my application on anything older than Win2000.
>
> Just trying out the Windows 8 preview and I got blocked by my own OS
> check.
>
> Would it be a good idea to add an option to the OS Version Checking,
> something like "Anything newer". Most Windows OS's have been backwards
> compatible. So Win 7 will happily install and run a Win95 Application I
> stopped working on 12 years ago, but not if my installer of 12 years ago
> didn't know about Win 7 and blocks me from installing it.

And that block is a good thing (IMO) <g>

The problem is that a Win95 application is not Vista-aware at all and so (in
most cases) it will not work correctly on Vista and above <g>. And when you
built the Win95 installer you had no idea that virtualization became part of
Windows 15 years later making your good old Win95 app a time-bomb.

The same is true for Win8. At the moment, you have no idea if your app will
work okay with Win8 Beta1 or Gold.

But you can use the attached code to handle what you want. I would never
ever use it for our products, but it can handle it ;-)

Just for the record again, for other readers: I recommend to NOT use this
method because it is a candidate for real trouble and for a support
nightmare!

Friedrich

NewsArchive
09-20-2011, 12:49 AM
> And that block is a good thing (IMO)<g>
>
> The problem is that a Win95 application is not Vista-aware at all and so (in
> most cases) it will not work correctly on Vista and above<g>. And when you
> built the Win95 installer you had no idea that virtualization became part of
> Windows 15 years later making your good old Win95 app a time-bomb.

That's only the case if you didn't follow the MS documentation and not
assume everyone had admin rights.

Software I wrote for 95 is still working very well, to this day, and
I've not touched it in over 15 years (I no longer work for that company).


> The same is true for Win8. At the moment, you have no idea if your app will
> work okay with Win8 Beta1 or Gold.

No, but the user can make that choice to continue or not.

What I'm worried about is the fact that I am mortal. One day, I will
shuffle off to the next world. Customers for whom I've produced
software however may wish to keep using that software well into the
future. If it fails to even install, they don't have that option, I've
basically screwed them over from the grave.


> But you can use the attached code to handle what you want. I would never
> ever use it for our products, but it can handle it ;-)
>
> Just for the record again, for other readers: I recommend to NOT use this
> method because it is a candidate for real trouble and for a support
> nightmare!

Thanks Friedrich.
--
Simon Craythorn
InterVations, Inc
http://www.intervations.com

NewsArchive
09-20-2011, 12:50 AM
Hi Simon,

> That's only the case if you didn't follow the MS documentation and not
> assume everyone had admin rights.
>
> Software I wrote for 95 is still working very well, to this day, and I've
> not touched it in over 15 years (I no longer work for that company).

The problem is that the software (and the setup.exe) you wrote for 95 is
neither UAC-aware nor Win7/Win8-aware (non-manifested). As a result, it
will run in legacy mode with all it's negative side effects (even if you
followed the MS development guidelines).

> No, but the user can make that choice to continue or not.
>
> What I'm worried about is the fact that I am mortal. One day, I will
> shuffle off to the next world. Customers for whom I've produced software
> however may wish to keep using that software well into the future. If it
> fails to even install, they don't have that option, I've basically screwed
> them over from the grave.

They can simply set the "Compatibility" (right-mouse -> Properties ->
Compatibility) for your setup.exe back to Win7 (or whatever) and then they
will be able to install your software in Win8 or Win9. Or use the code that
I provided and it will not block it for unknown operating systems. This
feature is (was) undocumented because it is definitely a dangerous feature
<g>.

Friedrich