I'm using the WIXUI_INSTALLDIR functionality in my installer. When I install, it lets me change the install directory from the default path that I set to INSTALLLOCATION and it installs to that new directory perfectly fine. However, when I enter maintenance mode (by hitting Change in Add/Remove Programs or re-running the installer), and I try to add a feature that I hadn't yet installed, it will always install it to the default path, which is not where I installed the product to.
Is there anything special I need to do to make that happen? Here's the code snippet of my installer: <?xml version='1.0'?> <!-- Copyright (c) Chase Paymentech Solutions, LLC. All rights reserved. --> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension"> <?include Common\Config.wxi?> <?include Common\PackageData.wxi?> <Product Id='*' Name='Chase Paymentech Spectrum SDK $(var.ProductVersion) for .Net $(var.NetVersion)' Language='1033' Version='$(var.ProductVersion)' Manufacturer='Chase Paymentech' UpgradeCode='$(var.UpgradeCode)'> <Package Description='Spectrum SDK for .Net $(var.NetVersion)' Comments='Installation of the Spectrum SDK for .Net $(var.NetVersion)' InstallerVersion='300' Compressed='yes' Platform='x86' /> <!-- To use the canned install sequence, but with a custom dialog --> <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION"/> <UIRef Id="MyWixUI_InstallDir" /> <Property Id="DOTNETVER" Value="Net$(var.NetVersionShort)" /> <Property Id="FRAMEWORKROOT"> <RegistrySearch Id="FrameworkRootDir" Root="HKLM" Key="SOFTWARE\Microsoft\.NETFramework" Type="directory" Name="InstallRoot" /> </Property> <PropertyRef Id="NETFRAMEWORK$(var.NetVersionShort)"/> <Condition Message="The .NET Framework $(var.NetVersion) must be installed"> Installed OR NETFRAMEWORK$(var.NetVersionShort) </Condition> <Media Id='1' Cabinet='product.cab' EmbedCab='yes' /> <Directory Id='TARGETDIR' Name='SourceDir'> <Directory Id='ProgramFilesFolder' Name='PFiles'> <Directory Id='MyCompany' Name='My Company'> <Directory Id='INSTALLLOCATION' Name='MyProduct'> ... </Directory> </Directory> </Directory> </Directory> <Feature Id='Complete' Title='My Product' Description='The complete package.' TypicalDefault='install' Display='expand' Level='1' ConfigurableDirectory='INSTALLLOCATION'> <Feature Id='Core' Absent='disallow' Title='Core Software' Description='Core Runtime Components.' Level='1'> ... </Feature> <Feature Id='Samples' Title='Sample Applications' Description='Sample Applications.' ConfigurableDirectory="INSTALLLOCATION" Level='3'> ... </Feature> </Feature> </Product> </Wix> Here is my InstallDir file <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> <Fragment> <UI Id="MyWixUI_InstallDir"> <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" /> <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" /> <TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" /> <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> <Property Id="WixUI_Mode" Value="InstallDir" /> <DialogRef Id="BrowseDlg" /> <DialogRef Id="DiskCostDlg" /> <DialogRef Id="ErrorDlg" /> <DialogRef Id="FatalError" /> <DialogRef Id="FilesInUse" /> <DialogRef Id="MsiRMFilesInUse" /> <DialogRef Id="PrepareDlg" /> <DialogRef Id="ProgressDlg" /> <DialogRef Id="ResumeDlg" /> <DialogRef Id="UserExit" /> <Publish Dialog="BrowseDlg" Control="OK" Event="DoAction" Value="WixUIValidatePath" Order="3">1</Publish> <Publish Dialog="BrowseDlg" Control="OK" Event="SpawnDialog" Value="InvalidDirDlg" Order="4"><![CDATA[WIXUI_INSTALLDIR_VALID<>"1"]]></Publish> <Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish> <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" Order="1">1</Publish> <Publish Dialog="LicenseAgreementDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish> <Publish Dialog="LicenseAgreementDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg">LicenseAccepted = "1"</Publish> <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg">1</Publish> <Publish Dialog="InstallDirDlg" Control="Next" Order="1" Event="DoAction" Value="FileExists">1</Publish> <Publish Dialog="InstallDirDlg" Control="Next" Order="2" Event="SetTargetPath" Value="[WIXUI_INSTALLDIR]">1</Publish> <Publish Dialog="InstallDirDlg" Control="Next" Order="3" Event="DoAction" Value="WixUIValidatePath">NOT WIXUI_DONTVALIDATEPATH</Publish> <Publish Dialog="InstallDirDlg" Control="Next" Order="4" Event="SpawnDialog" Value="InvalidDirDlg"><![CDATA[NOT WIXUI_DONTVALIDATEPATH AND WIXUI_INSTALLDIR_VALID<>"1"]]></Publish> <Publish Dialog="InstallDirDlg" Control="Next" Order="5" Event="NewDialog" Value="MySetupTypeDlg">FILE_EXISTS="0" AND (WIXUI_DONTVALIDATEPATH OR WIXUI_INSTALLDIR_VALID="1")</Publish> <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Property="_BrowseProperty" Value="[WIXUI_INSTALLDIR]" Order="1">1</Publish> <Publish Dialog="InstallDirDlg" Control="ChangeFolder" Event="SpawnDialog" Value="BrowseDlg" Order="2">1</Publish> <Publish Dialog="MySetupTypeDlg" Control="Back" Event="NewDialog" Value="InstallDirDlg">1</Publish> <Publish Dialog="MySetupTypeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="MySetupTypeDlg">NOT Installed</Publish> <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg">Installed</Publish> <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MySetupTypeDlg" Order="1">NOT Installed</Publish> <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg" Order="2">Installed</Publish> <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Order="1" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish> <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> <Publish Dialog="MaintenanceTypeDlg" Control="ChangeButton" Event="NewDialog" Value="CustomizeDlg">1</Publish> <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish> <Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish> <!--<Property Id="ARPNOMODIFY" Value="1" />--> <Property Id="BannerBitmap">bannrbmp</Property> <Property Id="InstallerIcon">insticon</Property> <Property Id="CompleteSetupIcon">completi</Property> <Property Id="DialogBitmap">dlgbmp</Property> <Binary Id="insticon" SourceFile="..\wix\Binary\Typical.ico" /> <Binary Id="completi" SourceFile="..\wix\Binary\Complete.ico" /> </UI> <UIRef Id="WixUI_Common" /> </Fragment> </Wix> Is there anything special I need to do to make that happen. --- Brad Younie | System Design and Development | Chase Paymentech 4 Northeastern Blvd., Salem, NH 03079 | T:603.896.8291 | F: 603.896.8135 bradford.you...@chasepaymentech.com<mailto:bradford.you...@chasepaymentech.com> JPMorgan Chase & Co. ---------- Learn more about Chase Paymentech Solutions,LLC payment processing services at www.chasepaymentech.com. THIS MESSAGE IS CONFIDENTIAL. This e-mail message and any attachments are proprietary and confidential information intended only for the use of the recipient(s) named above. If you are not the intended recipient, you may not print, distribute, or copy this message or any attachments. If you have received this communication in error, please notify the sender by return e-mail and delete this message and any attachments from your computer. ------------------------------------------------------------------------------ Start uncovering the many advantages of virtual appliances and start using them to simplify application deployment and accelerate your shift to cloud computing. http://p.sf.net/sfu/novell-sfdev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users