ForceAbsent allows you to remove permanent packages. However, Burn will ignore your Bundle's request to remove a package if another Bundle has a reference count on the package. You'll see a statement in the bundle log file to that effect.
On Fri, Mar 22, 2013 at 8:26 AM, Doug Beard <dbe...@jackhenry.com> wrote: > Hello, > > I'm pretty new to WiX. I've looked all over for some definitive answer > but have not found resolution to my issue, so I'm bringing it to this list. > > I have a Bundle and a MBA written in WPF. The bundle contains two > packages, both packages are MSI compiled from other WiX Product packages. > Example: > ____________ > > <?xml version="1.0" encoding="UTF-8"?> > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> > <Product Id=" REDACTED " Name="REDACTED" > > Language="1033" > > Version="13.0.1.11" > > Manufacturer=" REDACTED " > > UpgradeCode=" REDACTED "> > > <Package InstallerVersion="200" > > Compressed="yes" > > InstallScope="perMachine" /> > <MajorUpgrade > > AllowSameVersionUpgrades="no" > DowngradeErrorMessage="A > newer version of [ProductName] is already installed." /> > <MediaTemplate > EmbedCab="yes" /> > <Feature Id="ProductFeature" > > ConfigurableDirectory="INSTALLFOLDER" > > Display="expand" > > Title=" REDACTED " > > Level="1" > > <ComponentGroupRef > Id="ProductComponents" /> > </Feature> > </Product> > <Fragment> > <Directory Id="TARGETDIR" > > Name="SourceDir"> > <Directory > Id="ProgramFilesFolder"> > <Directory > Id="INSTALLFOLDER" > > > Name=" REDACTED " /> > <Directory > Id="ProgramMenuFolder"> > > <Directory Id="ApplicationProgramsFolder" Name=" REDACTED "/> > > </Directory> > </Directory> > </Directory> > > <DirectoryRef > Id="ApplicationProgramsFolder"> > <Component > Id="ApplicationShortcut" Guid=" REDACTED "> > <Shortcut > Id="UninstallProduct" > > > Name=" REDACTED " > > > Description=" REDACTED " > > > Target="[SystemFolder]msiexec.exe" > > > Arguments="/x [ProductCode]"/> > > <RemoveFolder Id="ApplicationProgramsFolder" On="uninstall"/> > > <RegistryValue Root="HKCU" Key="Software\Microsoft\ REDACTED " > Name="installed" Type="integer" Value="1" KeyPath="yes"/> > </Component> > </DirectoryRef> > </Fragment> > <Fragment> > <ComponentGroup Id="ProductComponents" > > > Directory="INSTALLFOLDER"> > <ComponentGroupRef > Id="HeatGenerated"/> > <ComponentRef > Id="ApplicationShortcut"/> > </ComponentGroup> > </Fragment> > </Wix> > > _______________ > > > > Bundle: > > ________ > > > <?xml version="1.0" encoding="UTF-8"?> > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" > xmlns:util="http://schemas.microsoft.com/wix/UtilExtension" > xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" > > > <Bundle Name="REDACTED" > Version="13.0.1.11" > Manufacturer=" REDACTED " > UpgradeCode=" REDACTED " > IconSourceFile=" REDACTED _AddRemove.ico" > > > <Variable Name="InstallFolder" Type="string" > Value="[ProgramFilesFolder] REDACTED "/> > <Variable Name=" REDACTED " Type="string" Value="[ProgramFilesFolder] > REDACTED "/> > <Variable Name="WCFUser" bal:Overridable="yes" Persisted="yes" > Type="string" Value=".\LocalSystem"/> > <Variable Name="WCFPassword" bal:Overridable="yes" Persisted="yes" > Type="string" Value=""/> > > <RelatedBundle Id=" REDACTED " Action="Upgrade" /> > > > <BootstrapperApplicationRef Id="ManagedBootstrapperApplicationHost"> > > <PayloadGroupRef Id="InstallerPayload"/> > </BootstrapperApplicationRef> > > <Chain> > <PackageGroupRef Id='Netfx4Full' /> > > <MsiPackage SourceFile="$(var. REDACTED.TargetPath)" > Id=" REDACTED " > ForcePerMachine="yes" > Compressed="yes" > Cache="no" > Visible="no" > Vital="no"> > <MsiProperty Name="INSTALLFOLDER" Value="[InstallFolder]" /> > <MsiProperty Name="WCFUSER" Value="[WCFUser]" /> > <MsiProperty Name="WCFPASSWORD" Value="[WCFPassword]" /> > </MsiPackage> > > <MsiPackage SourceFile="$(var. REDACTED.TargetPath)" > Id=" REDACTED " > ForcePerMachine="yes" > Compressed="yes" > Cache="no" > Visible="no" > Vital="no"> > <MsiProperty Name="INSTALLFOLDER" Value="[ REDACTED > InstallFolder]" /> > </MsiPackage> > </Chain> > </Bundle> > > <Fragment> > <PayloadGroup Id="InstallerPayload"> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\BootstrapperCore.config"/> > <Payload SourceFile="$(var.WixBootstrapperWPF.TargetDir)\ > REDACTED.IISIntegration.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\WiXBootstrapperWPF.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\CustomConfigurationSections.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\Microsoft.Practices.Prism.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\Microsoft.Practices.Prism.Interactivity.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\Microsoft.Practices.Prism.MefExtensions.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\Microsoft.Practices.Prism.UnityExtensions.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\Microsoft.Practices.Unity.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\Microsoft.Practices.Unity.Configuration.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\Microsoft.Practices.ServiceLocation.dll"/> > <Payload > SourceFile="$(var.WixBootstrapperWPF.TargetDir)\System.Windows.Interactivity.dll"/> > > <Payload > SourceFile="..\SharedBin\WiX\Microsoft.Deployment.WindowsInstaller.dll"/> > </PayloadGroup> > </Fragment> > > <Fragment> > <!-- Managed bootstrapper requires .NET as a dependency, since it was > written in .NET. > WiX provides a Bootstrapper for the bootstrapper. The fragment > below includes .NET. > For more information or examples see Heath Stewart's blog or the > WiX source: > > http://blogs.msdn.com/b/heaths/archive/2011/10/28/introducing-managed-bootstrapper-applications.aspx > --> > > <WixVariable Id="WixMbaPrereqPackageId" Value="Netfx4Full" /> > <WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" /> > > <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework > Setup\NDP\v4\Full" Value="Version" Variable="Netfx4FullVersion" /> > <util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\Net Framework > Setup\NDP\v4\Full" Value="Version" Variable="Netfx4x64FullVersion" > Win64="yes" /> > > <PackageGroup Id="Netfx4Full"> > <ExePackage Id="Netfx4Full" Cache="no" Compressed="yes" > PerMachine="yes" Permanent="yes" Vital="yes" > SourceFile="..\SharedBin\dotNetFx40_Full_x86_x64.exe" > DownloadUrl=" > http://go.microsoft.com/fwlink/?LinkId=164193" > DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 > OR Netfx4x64FullVersion)" /> > </PackageGroup> > </Fragment> > </Wix> > > > ________ > > > > I set one or both packages to Absent or ForceAbsent on PlanPackageBegin, > but the package(s) is never removed. > > Am I approaching this the correct way? > > NOTICE: This electronic mail message and any files transmitted with it are > intended > exclusively for the individual or entity to which it is addressed. The > message, > together with any attachment, may contain confidential and/or privileged > information. > Any unauthorized review, use, printing, saving, copying, disclosure or > distribution > is strictly prohibited. If you have received this message in error, please > immediately advise the sender by reply email and delete all copies. > > ------------------------------------------------------------------------------ > Everyone hates slow websites. So do we. > Make your web apps faster with AppDynamics > Download AppDynamics Lite for free today: > http://p.sf.net/sfu/appdyn_d2d_mar > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_mar _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users