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.
0 Comments   [ - ] Hide Comments


Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
Answer this question or Comment on this question for clarity


Lookup the ROOTDRIVE property in the SDK.
Answered 06/23/2008 by: Jamie B
Orange Senior Belt

Please log in to comment
As "Jamie B" stated; you need to add the ROOTDRIVE property to the Property table and give it a value of "D:\" or modify it if already exist.
Answered 06/23/2008 by: AngelD
Red Belt

Please log in to comment
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...

Answered 06/24/2008 by: MSIPackager
Third Degree Black Belt

Please log in to comment
Good call Rob!
Answered 06/24/2008 by: AngelD
Red Belt

Please log in to comment
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)


It should be something like this.


Installshield is very prone to creating entries like this [ProgramFiles]\Folder1\Folder2\File1.exe

Its very bad practice and should be avoided where possible.
Answered 06/24/2008 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
Agreed, I was just pointing out the principal but thanks for the correction.
Answered 06/25/2008 by: MSIPackager
Third Degree Black Belt

Please log in to comment