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
[email protected]<mailto:[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users