Vista "Gotchas" You Should Know About |
(Vista Only)
|
So for example, suppose you installed your app as a stub Rev standalone, with a main stack file that is read, can be changed, and resaved. So your initial installation would put it here:
C:\Program Files\YourApp\YourApp.exe
C:\Program Files\YourApp\main.rev
Installation goes fine, and you launch 'YourApp.exe', which in turn opens 'main.rev' - you enter some data into a field on the main stack and click a button which saves 'main.rev' back to the hard drive. What really happens is this:
C:\Users\Ken\AppData\Local\VirtualStore\Program Files\YourApp\main.rev
GOTCHA #1: If you leave Account Control on, but decide at some point
you want to start over from scratch or uninstall and reinstall (perhaps
an upgrade), if you replace your app in C:\Program Files\YourApp with a
new version (even one that has been upgraded or has significant
changes), the next time the app is launched it will open up the
'main.rev' from the VirtualStore and the user will not only NOT see a
brand new app, but it will appear as if any upgrades that had been made
are gone.
SOLUTION: To truly uninstall, you need to make sure you delete your
app from the VirtualStore as well.
GOTCHA #2: If you have opened a stack file from the VirtualStore as a
result of attempting to open it from a protected folder (like Program
Files), if you ask for 'the filename of this stack', it will NOT give
you the path to the VirtualStore version of the stack, but will instead
return the path to the original location in Program Files. So there is
not (AFAIK) any way for a stack that is open to know if it has been
virtualized or not.
SOLUTION: None that I know of.
GOTCHA #3: If the user turns off User Account Control, the next time
YourApp is launched, it will NOT get the file from the VirtualStore,
and will instead open the file from Program Files. It will appear like
all the data that had been entered is deleted (resulting in frightened
calls to Tech Support).
SOLUTION: In this instance, the "old" file still remains in the
VirtualStore, so it can be moved back into Program Files to restore the
data.
Note that if you turn off User Account Control at the get-go, you experience none of these problems - but this is (a) not recommended by Microsoft, and (b) something that must be manually done since Vista ships with it turned on by default. And I'm sure IT departments won't be happy if you request that they turn it off so your program can work right... :-)
I'm sure there are more gotchas in Vista, but this was a major one that I thought the community should know about.
Posted 2/22/2007 by Ken Ray to the Use-Revolution List