Here are some tips to help you
create a Vista compliant app
If you have files in the installation folder (C:\Program Files\YourAppName) that you read and do not write to. Open the file with read only access. Opening files with write access in a protected folder is asking for trouble with unexplained or unexpected application crashes for unhandled errors. You should get the application data path using a system API, create a folder then place your data there. You will also need to change the file locations in your app to point to these locations where you access the data that needs to be written to disk.
Do not access the registry any more than you need to and if you need to make sure it is not a protected part of the registry (for writing). Most of the time it is easy to tell if the location you want to access is protected. Create a limited users account then log onto it, open RegEdit (Start->Run, then type in Regedit) then go to the key where you want to write and look at the permissions for the user "Everyone" (Right click on the key). If you see the key in the Administrator account and don't see it in the Limited Users account, you definitely cannot use that key. If you find the key in the Limited Users account and you check the permissions and there is no user "everyone" or the user "everyone" does not have at least "Read" privileges then you can not use that registry key at all. Remember that if you do not have privileges to any level of the registry key above your key you will not have rights to that key. So if you don't have "Write" privileges you cannot update that key and attempting to write to it will give you a need for "Administrator Privileges".
These few things alone will help you make a Vista compliant application and keep you from cursing your new operating system. Well, sometimes...
Ralph James