HI EXPERTS,

I tried to solve these doubsts in http://msdn.microsoft.com/en-us/library/windows/desktop/aa372064%28v=vs.85%29.aspx, but getting lot of confusion, please can anyone clear these with a simply examples?

i mention belown what i understood  about the concept, if i am wrong correct me.

1. ROOTDRIVE: if we did not author this into installation package, installer by default add it to   C:\ "programfiles( its better to say the drive which has more free space, as i understood), while installing in cmd line , i wanna make it this drive as "D" , do i use (example) msiexec /i test.msi ROOTDRIVE=D:\?????????? even i tried this but still its got installed in "C:\".

2.INSTALLDIR: By default installer adds to "programfilefolder",if i wanna make it in another folder "test" (named example ) in "D" drive, can i make in Summary information team? or can i command line?

3. TARGETDIR: Is this to allocate a folder/place for installation files in Target System.

 

 

0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Answers

2

Hi appack14,

as far as I know,

ROOTDRIVE is the local drive with the most space and this is calculated by msiexec. If you set it in the property table or command-line to C:\ your app will install on C: even if you have a D: drive with more free space. Especially useful if you are making an MSI of an app for a server.

TARGETDIR is the the default install folder. Also the default folder for an Admin install.

INSTALLDIR is the same as TARGET dir but is used in various packaging tools.

e.g. msiexec /i test.msi INSTALLDIR="D:\TEST".

If you set ROOTDRIVE on the commandline the folder path will come from the MSI so if it was set to go into C:\Program Files\MyAPP setting ROOTDRIVE="D:\" will put it in "D:\Program Files\MyApp" but if you set TARGETDIR/INSTALLDIR="D:\Here" the app will install into "D:\here".

Answered 10/15/2012 by: olditguy
Second Degree Blue Belt

  • Thanks, its a really helpful one
  • @olditguy
    Could you please elaborate the below sentence.

    If you set ROOTDRIVE on the commandline the folder path will come from the MSI so if it was set to go into C:\Program Files\MyAPP setting ROOTDRIVE="D:\" will put it in "D:\Program Files\MyApp" but if you set TARGETDIR/INSTALLDIR="D:\Here" the app will install into "D:\here".ease
    • When you install an MSI, msiexec looks for the local drive with the most space and installs it to there. If you set ROOTDRIVE then it will install to that specific drive even if it has less space.
      When the install runs it will then use ROOTDRIVE + INSTALLDIR from inside the MSI, something like \Program Files\Mfgr\Product. So you get the drive you want with the folder structure the manufacturer uses If you specify INSTALLDIR on the command line you choose where it goes and it overrides what the manufacturer set.
Please log in to comment
Answer this question or Comment on this question for clarity