|
Notes on Vista compatibility |
|||||||||||||||
| Now that the Vista is out and becoming the norm for new PCs the effect that this has on existing programs is becoming
more evident. One of the main confusions is that many programs will seem to work but in fact are not doing exactly what was intended. This is a result of the new and radical security improvements provided by the UAC (User Account Control) system which provides the user with reduced access but still allows them to perform admin tasks provided they manually confirm their wishes (to prevent malicious software from doing "bad" things without the user knowing) One result of this is Virtualization. This means that when a program that is not properly "vistafied" tries to do admin tasks (note that something as simple as trying to overwrite any file in the Program Files folder is considered an admin task) then it pretends to do it but instead creates a new edited copy of the file in a virtual folder stored in the users profile. For example if you were to use DXTBmp to edit one of the textures of the default FS9 747 then the edited version would go to the virtual folder "Documents and Settings\<username>\Virtual Folders\Program Files\Microsoft Games\Flight Simulator 9\Aircraft\b747_400\texture\,,," (or something similar). As far as DXTBmp knows it has edited the file. If you load the texture again from the original location it will indeed seem to be edited but this is because Vista now "knows" that when DXTBmp requests this file it should instead give it the virtual copy. This may be all well and good for some types of programs but if any other program wants to use this file it will be given the original unedited version instead of the "virtual" edited copy. Not much use for programs like mine which edit or convert textures or images for use by other programs. Another drawback is that the virtual folders are stored in the users profile. This means that if a different user logs on to the PC they will have their own virtual folders with their own edited files and these will be totally seperate. Thirdly MS have only introduced Virtualization for the initial release of Vista in order to stop most current programs failing straight away. This is temporary and will not be part of any future OS |
|||||||||||||||
| Programs specifically designed to run on Vista need extra code in order for Vista to know its access requirements so it can then prompt the user if necessary to confirm they are willing to let the program run with increased ("Elevated") access permissions. This prompt will appear every time the program is run as one of the increased security ideas is that any permanent storing of preferred access settings would provide a loophole for hackers to exploit. Ideally programs should not need Elevation unless they specifically need to write to protected locations but because my programs are often used to edit textures stored within Game folders and most games install by default to Program Files this can be the case. What I want to avoid is unnecessary elevation that the user has to confirm every time the program is run (even if they are only viewing files or editing files outside the protected zone). Far better to only prompt the user when actually saving to a location that requires UAC intervention. This requires more work on the internal code to get things working this way so initially I will just be modifying the exe for Vista. As programs get further coding that allows the better method to be used I will mark them as "Vista Compatible". The simple method also adds further unexpected problems. As well as requiring user confirmation every time it is run it may also lose the functionality of drag & drop or "Open with" features | |||||||||||||||
|
MWGFX Programs and Vista |
|||||||||||||||
| I am gradually working through my catalogue of programs and applying the Vista code where it seems necessary. Some programs which don`t do anything admin should run with no modifications. There are some programs that should "mostly" run without any problems. For instance Show and TView should still allow the viewing of image files but may run into virtualization problems if you use any of the save or convert options. As well as the programs themselves Vista also presents problems for my simple installers. These need to be modified to allow the installation of the program or dll files to their required locations without Vista sneaking them off into a virtual folder Below is an ongoing table of modifications done or pending for various programs. It may take a while to get through them all and any feedback on problems is welcome. Also feedback on Vista problems with programs not yet modified so I know what I am up against. |
|||||||||||||||
|
|
|||||||||||||||
| Download the Latest dll Set (required unless you already have it) |