TARGETDIR,ROOTDRIVE, INSTALLDIR
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.
Answers (1)
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".
Comments:
-
Thanks, its a really helpful one - appack14 12 years ago
-
@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 - ur00361883 8 years ago-
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. - olditguy 8 years ago