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
0 Comments   [ + ] Show Comments

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.

Answers

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

Please log in to comment
0
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
0
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.
Answered 06/24/2008 by: MSIPackager
Third Degree Black Belt

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

Please log in to comment
0
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.
Answered 06/24/2008 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
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
Answer this question or Comment on this question for clarity