Hi guys,

I'm having a problem editing a .msi file trying to change the installation drive from C to D. For the whole application, the ROOTDRIVE property works for some installers, but not for all. I've also tried using additional properties when I use MSIEXEC, properties like: TARGETDIR, INSTALLDIR, PRIMARYVOLUME but I've got no luck. I've also tried using this method I've seen:


"Created a new property called MYDIR (or something unique) and entered desired drive letter for the value (i.e. D:\)

After the Cost Finalize entry in the User Interface sequence, insert a Set Directory custom action

Enter a unique Custom Action Name - doesn't matter what it is as long as it's unique

For the Directory field, clicked on the Browse button, and chose the folder you want the app to install to, and click OK. The Directory field will be populated with the property name of the folder (i.e.INSTALLDIR)

In the Directory Value field, entered the custom property you created in all caps/square brackets, followed by the folder path you want the application to install to: i.e. [MYDIR]Program Files\Windows Resource Kits\Tools. Click OK "

I've also used this method but I kept encountering an error regarding the CA I've placed in the Deferred sequence. I think that I've placed the CA in the wrong sequence within the Deferred Execution (placing it after the InstallInitialize sequence). Just added FYI, I've placed the CA I've created in the Execute Immediate and Execute Deferred, as I was installing in silent mode, using the /qn switch.

Got any suggestions aside from using custom actions? Or is it the only way to change the installation drive?

Here is the link to another post that I've made including the install.log file:

for some reference

Any help would be appreciated thanks guys!

0 Comments   [ + ] Show comments

Answers (2)

Posted by: MSIPackager 13 years ago
3rd Degree Black Belt
We often need to set packages to install on the E:\ for or Citrix servers and achieve it by hardcoding the INSTALLDIR value as a property e.g.

INSTALLDIR E:\Program Files\MyApp

It's normally that straight forward although sometimes more needs to be done for vendor MSI packages. Also, it causes a validation error but we live with it.

Setting the ROOTDRIVE value to E:\ doesn't have any effect for Program Files etc since it uses the environment shell variables and still ends up in C:\Program Files

Hope this helps, but I guess not since you say you've already tried setting INSTALLDIR !?

Posted by: pagsi23 13 years ago
Senior Yellow Belt
Hi Rob,

I've tried setting the installdir, the problem is the application installs a part in C: and a part in D, I think that the MSI package has two installdir properties, I'm currently finding the other installdir property to change. Thanks for the reply.
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Don't be a Stranger!

Sign up today to participate, stay informed, earn points and establish a reputation for yourself!

Sign up! or login


This website uses cookies. By continuing to use this site and/or clicking the "Accept" button you are providing consent Quest Software and its affiliates do NOT sell the Personal Data you provide to us either when you register on our websites or when you do business with us. For more information about our Privacy Policy and our data protection efforts, please visit GDPR-HQ