Re: backward compatibility in Vista



No. For a variety of reasons. Key here is that there are Vista-only APIs, and if you use
them (or the MFC library uses them, or some other library uses them), then they won't
work. In addition, some data structures have changed size, and if you call an API
specifying a size n+m, and XP expects a data structure of size n, it might well reject
your call has having an invalid argument.

So you cannot assume. Back in the days when we had Windows NT 4 and Windows 2000, I had
to develop on NT 4 if the app had to run on NT 4. Then I would test it on 2000. I very
rarely hit any problem. When XP was out, I was still developing on NT4 for any app that
had to run on NT4, and developing on 2000 for any app that had to run on 2000. Today, I
develop on XP and test on Server 2003 and Vista, unless I'm developing a Vista-specific
app, where I develop and test as a "limited user" on Vista (Medium integrity level). You
will have fewer problems if you develop and test on the oldest platform you want to run
on; there are fewer nasty surprises. Going the other way (which occasionally happens when
a client sends me code and says "This doesn't work on <earlier version here>" is often
much harder to find, so I'll develop and test on the desired platform. Then I test on the
newer platform.

(The truth is that I build XP apps on XP but test them on 2000, so I consider 2000 my
"development environment". Note that you should not set the WINVER and other constants in
stdafx.h to values higher than the oldest platform)
joe

On Tue, 31 Jul 2007 20:51:50 -0400, "SteveR" <srussell@xxxxxxxxxxxxxxxxxxxxxx> wrote:

I have been programming on XP machines, using C++ 6.0. Now I am moving to a
Vista pc in order to work out issues in my code that have arisen in Vista.
Can I assume that smooth running in Vista will mean the same for XP users?
I hope I don't have to program separately for the two platforms.

Joseph M. Newcomer [MVP]
email: newcomer@xxxxxxxxxxxx
Web: http://www.flounder.com
MVP Tips: http://www.flounder.com/mvp_tips.htm
.



Relevant Pages

  • Re: Deployment under Vista
    ... combination of a special path designated by Windows and the current ... Consequently, under Vista CSIDLs were changed into KNOWNFOLDERIDs, ... Let's call my app Fred.exe and it uses say two random access files, ... The Install suggests that the app is placed in C:\Programs. ...
    (microsoft.public.vb.general.discussion)
  • Re: private Deploy of SQL CE 3.1
    ... dependencies for device platform. ... data provider" catalog items in my platform builder, ... dll sqlceme30.dll was sitting right there in the app directory. ... device uses 3.1 dlls. ...
    (microsoft.public.sqlserver.ce)
  • Re: Deployment under Vista
    ... Outlook apparently does not easily allow me step ... this app works perfectly under XP Home. ... The Install suggests putting the app where you set it to. ... you're breaking the Vista rules by putting data in a Program ...
    (microsoft.public.vb.general.discussion)
  • Re: Deployment under Vista
    ... combination of a special path designated by Windows and the current ... Consequently, under Vista CSIDLs were changed into KNOWNFOLDERIDs, ... Let's call my app Fred.exe and it uses say two random access files, ... The Install suggests that the app is placed in C:\Programs. ...
    (microsoft.public.vb.general.discussion)
  • Re: Strange dll problem
    ... I have a strange problem with my app and I can't find a solution. ... Windows XP and Windows Vista. ... with the Unicode build of the Codex library, so I tried a non-Unicode ... the non-Unicode build crashes both in XP ...
    (microsoft.public.vc.mfc)

Loading