Hi all

I am having trouble with [INSTALLDIR] value, basically the issue is that when we install our msi across the network via deployment tool it installs the files on to the wrong directory. the MSI need to install the files to C:\VM2 but on some machines it installs on D:\VM2.

I have used the following under MSI Script > User Interface > ValidateProductID
[Set Property INSTALLDIR to C:\VM2 (Action)]

But its not working and still installing the app on to D:\VM2.

Please can someone help me here. Many thanks
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
What is the value of ROOTDRIVE property inside your package.

Also, What is the value of environment variable "SystemRoot" on target machine
Answered 03/16/2011 by: mekaywe
Brown Belt

Please log in to comment
0
I guess you can forcefully change the install directory by this command :

msiexec /passive TARGETDIR="C:VM2" /i "application.msi"

hope this helps

and if you are using any deployment tool..this command can be used as a batch file and deployed..
Answered 03/16/2011 by: manna
Senior Yellow Belt

Please log in to comment
0
Thanks to everyone help :)

I have managed to resolve it, I couldn't find ROOTDRIVE and SystemRoot variables but what I have done is to move the Condition just before ValidateProductID on the User Interface tab. it does change the the value for INSTALLDIR what I wanted it to be.

Also how do you use ROOTDRIVE with INSTALLDIR
Answered 03/16/2011 by: Ash786
Senior Yellow Belt

Please log in to comment
0
Scary...

- ROOTDRIVE is a special public property connected with Windows Installer (MSI). You can specify public property/value pairs on the command line.
- SystemRoot is an operating system environment variable.

We really shouldn't be having to point this kind of thing out to a packager!
Answered 03/16/2011 by: VBScab
Red Belt

Please log in to comment
0
VBScab

Do you think the steps, which I have taken is unharm, I have not touched ROOTDRIVE or SystemRoot just changed the value to INSTALLDIR to "C:\VM2"
Answered 03/16/2011 by: Ash786
Senior Yellow Belt

Please log in to comment
0
Answered 03/16/2011 by: VBScab
Red Belt

Please log in to comment
0
Hi VBScab,

Sorry I am not expert with MSI and I may be doing the wrong thing here, I've looked at the Property table but I cannot find either ROOTDRIVE or TARGETDIR.
Answered 03/16/2011 by: Ash786
Senior Yellow Belt

Please log in to comment
0
Ash,

There are many properties that don't appear in the Property table. Some are defined automatically at runtime. Some are used to control or override the default behavior of Windows Installer. ROOTDRIVE falls into both of these categoies. If you don't explicitly set it, Windows Installer sets its value automatically, pointing it to a local writeable HDD with the largest free space -- in your case, D:\. See the links VBScab provided for more detail.

You should read up more on the basics of Windows Installer.
Answered 03/16/2011 by: mazessj
Blue Belt

Please log in to comment
0
Hi, Thanks to everyone for their comments and help. It is working and I set ROOTDRIVE property to C:\ and it is shinning like a start :)
Answered 03/21/2011 by: Ash786
Senior Yellow Belt

Please log in to comment
Answer this question or Comment on this question for clarity