This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Porting Application over to Vista
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Oct 27, 2009
08:28 AM
Porting Application over to Vista
I am trying to adapt our existing app to work correctly with Vista.
Our app uses an Access database (*.mdb) which up until now has been installed in the [INSTALLDIR] along with the executable and other program files. The db file doesn not get overwritten when the Installshield wizard is upgrading from a previous version of the app.
As Vista doesn't allow programs run by non-admin users to write to Program Files or it's sub-folders, this db file needs to be installed in another location on Vista, preferably under ProgramData as it is not user-specific. Can anyone confirm which of the pre-defined folder names in Installshield I should use to place the db somewhere under "ProgramData" on Vista?
More importantly, when running the IS wizard to upgrade from an earlier version of our app, rather than installing a blank db file, it needs to move the existing DB file from its current location in the [INSTALLDIR] to the new location under ProgramData. Can anyone suggest the best way of doing this? I was considering running a batch file or windows script in Custom Actions, but there's surely a better way...
Any help or advice would be greatly appreciated.
Jean-Paul Raven
Our app uses an Access database (*.mdb) which up until now has been installed in the [INSTALLDIR] along with the executable and other program files. The db file doesn not get overwritten when the Installshield wizard is upgrading from a previous version of the app.
As Vista doesn't allow programs run by non-admin users to write to Program Files or it's sub-folders, this db file needs to be installed in another location on Vista, preferably under ProgramData as it is not user-specific. Can anyone confirm which of the pre-defined folder names in Installshield I should use to place the db somewhere under "ProgramData" on Vista?
More importantly, when running the IS wizard to upgrade from an earlier version of our app, rather than installing a blank db file, it needs to move the existing DB file from its current location in the [INSTALLDIR] to the new location under ProgramData. Can anyone suggest the best way of doing this? I was considering running a batch file or windows script in Custom Actions, but there's surely a better way...
Any help or advice would be greatly appreciated.
Jean-Paul Raven
(1) Reply
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
Nov 12, 2009
12:26 PM
You should be able to use CommonAppDataFolder location to get files to install to C:\ProgramData folder in Vista and newer.
You may want to look into using the MoveFile table to copy an existing version of your applications Access database files to the new location. Otherwise you would probably need to create some kind of custom action to handle the requirement.
MoveFile Table
http://msdn.microsoft.com/en-us/library/aa370055(VS.85).aspx
Edit - I just noticed that you are using InstallShield Express edition. In this case the MoveFile Table option is not available because Express does not have the capability of editing MSI tables directly. This means you will need to use a custom action to accomplish this objective.
You may want to look into using the MoveFile table to copy an existing version of your applications Access database files to the new location. Otherwise you would probably need to create some kind of custom action to handle the requirement.
MoveFile Table
http://msdn.microsoft.com/en-us/library/aa370055(VS.85).aspx
Edit - I just noticed that you are using InstallShield Express edition. In this case the MoveFile Table option is not available because Express does not have the capability of editing MSI tables directly. This means you will need to use a custom action to accomplish this objective.
