TARGETDIR is not what you use to set the install location. You want to replace your Id 'Root' with something like INSTALLDIR. That's the variable you set on the command line. Additionally, you need to set Feature/@ConfigurableDirectory to INSTALLDIR.
And to deal with repair/upgrades, you need to use the remember pattern. Dave ----- Original Message ----- > From: Prashanth Srinivasan <pra...@gmail.com> > To: General discussion about the WiX toolset. > <wix-users@lists.sourceforge.net> > Cc: > Sent: Friday, May 16, 2014 1:15 PM > Subject: Re: [WiX-users] using TARGETDIR from command line or default to > C:\ProgramFiles\AppName > >T hanks Pavan. But if I have this in my Product.wxs: > > <Directory Id="TARGETDIR" Name="SourceDir"> > > <Directory Id="ProgramFiles64Folder"> > <Directory Id="Root" Name="appName"> > </Directory> > </Directory> > > No matter what I pass in the external app, WiX defaults to > ProgramFiles\appName folder. The only way I can have the external app > control it is, if I dont have the above code in my Product.wxs. I was > wondering if I can switch between the two. > > Prashanth > > > On Fri, May 16, 2014 at 1:04 PM, Pavan Konduru > <pavan.kond...@accelrys.com>wrote: > >> Your external app is controlling your WIX installer and not the other way >> around. >> So, no matter what you do in WIX, the Target is controlled by that >> external app. >> >> --Pavan >> >> -----Original Message----- >> From: Prashanth Srinivasan [mailto:pra...@gmail.com] >> Sent: Friday, May 16, 2014 12:54 PM >> To: wix-users@lists.sourceforge.net >> Subject: [WiX-users] using TARGETDIR from command line or default to >> C:\ProgramFiles\AppName >> >> I have an MSI, which will be delivered through an external application. >> The external app has the ability to set install directory which will be >> translated to msiexec /i TARGETDIR="C:\abc". This works > perfectly fine. >> >> The issue I have is that, when the user wants the install to occur in the >> default location through the external app, then nothing is passed to >> msiexec and the installation occurs in C:\ drive or the drive with the >> largest volume. How do I change that to say > C:\ProgramFiles\appName\abc? >> >> Here is my relevant Product.wxs >> >> <Directory Id="TARGETDIR" Name="SourceDir"> >> >> <Directory Id="ProgramFiles64Folder"> >> <Directory Id="Root" Name="appName"> >> </Directory> >> </Directory> >> >> Having this option ignores the external app and the msiexec's TARGETDIR >> param. So my question is, how can I do something like this in WiX: >> >> if TARGETDIR then use it >> >> if no TARGET DIR then >> >> <Directory Id="TARGETDIR" Name="SourceDir"> >> >> <Directory Id="ProgramFiles64Folder"> >> <Directory Id="Root" Name="appName"> >> </Directory> >> </Directory> >> >> Thanks in advance. >> >> -- >> ----------- >> Prashanth ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users