MST install location
Hi ,
I created an MST for a QPulse MSI so that I can install it via GPO and AD.
One of the changs I make is to install the app to D:\program Files\app name but when I roll out the MSI and MST via AD it installs it to C:\Program Files.
When I looked at this _BrowserProperty is set to INSTALLDIR but I cant find were I need to and the correct value to represent the D drive as all references seem to only reference Program Files\ not actually refering to the drive letter. I have created lots of these and they usual work fine but I am using th enew version of wise package studio. When I look at the database its beond the level I would usually be farniulare.
thanks
Ronnie
I created an MST for a QPulse MSI so that I can install it via GPO and AD.
One of the changs I make is to install the app to D:\program Files\app name but when I roll out the MSI and MST via AD it installs it to C:\Program Files.
When I looked at this _BrowserProperty is set to INSTALLDIR but I cant find were I need to and the correct value to represent the D drive as all references seem to only reference Program Files\ not actually refering to the drive letter. I have created lots of these and they usual work fine but I am using th enew version of wise package studio. When I look at the database its beond the level I would usually be farniulare.
thanks
Ronnie
0 Comments
[ + ] Show comments
Answers (6)
Please log in to answer
Posted by:
AngelD
16 years ago
Posted by:
MSIPackager
16 years ago
Using ROOTDRIVE won't work as Windows Installer uses the %ProgramFiles% environment variable to resolve the "Program Files" path.
This article explains in a little more detail: http://geekswithblogs.net/ajshurts/archive/2005/07/20/47784.aspx
You can either do what the article suggests - create a property and appropriate directory table entries to resolve INSTALLDIR back to D:\ or just create an INSTALLDIR property with a value of D:\Program Files\app name.
The second method (which I prefer by far) is generally easier but will create a validation error which you can safely igonore. Be aware they there maybe other references in your package which use [ProgramFiles] - e.g. the registry may contain a reference to [ProgramFiles]\Folder1\Folder2\File1.exe - you'll need to change this to [INSTALLDIR]\Folder2\File1.exe or [#File1.exe] to cover this eventuality.
ROOTDRIVE will work for a folder which isn't already defined as a shell folder - e.g. if your app writes files to C:\Data and you set ROOTDRIVE=D:\ then you will get D:\Data
Hope this makes sense. Would be interested to hear any other opinions on this...
Cheers,
Rob.
This article explains in a little more detail: http://geekswithblogs.net/ajshurts/archive/2005/07/20/47784.aspx
You can either do what the article suggests - create a property and appropriate directory table entries to resolve INSTALLDIR back to D:\ or just create an INSTALLDIR property with a value of D:\Program Files\app name.
The second method (which I prefer by far) is generally easier but will create a validation error which you can safely igonore. Be aware they there maybe other references in your package which use [ProgramFiles] - e.g. the registry may contain a reference to [ProgramFiles]\Folder1\Folder2\File1.exe - you'll need to change this to [INSTALLDIR]\Folder2\File1.exe or [#File1.exe] to cover this eventuality.
ROOTDRIVE will work for a folder which isn't already defined as a shell folder - e.g. if your app writes files to C:\Data and you set ROOTDRIVE=D:\ then you will get D:\Data
Hope this makes sense. Would be interested to hear any other opinions on this...
Cheers,
Rob.
Posted by:
jmcfadyen
16 years ago
well almost a good call !
you should avoid doing things like this where you can .. (but I see where your heading Rob and its in the right direction)
[INSTALLDIR]\Folder2\File1.exe
It should be something like this.
[ACTUALFOLDER]file.exe
Installshield is very prone to creating entries like this [ProgramFiles]\Folder1\Folder2\File1.exe
Its very bad practice and should be avoided where possible.
you should avoid doing things like this where you can .. (but I see where your heading Rob and its in the right direction)
[INSTALLDIR]\Folder2\File1.exe
It should be something like this.
[ACTUALFOLDER]file.exe
Installshield is very prone to creating entries like this [ProgramFiles]\Folder1\Folder2\File1.exe
Its very bad practice and should be avoided where possible.
Posted by:
MSIPackager
16 years ago
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.