Hi everyone, I've got a long-running application we just upgraded to .NET 4.5 and WiX. It's had the same UpgradeCode for ages, so I included it in my Product-file for WiX. It installed side-by-side with the existing application. Reading up some, it seemed like I had to add a directive to remove existing products. Good, I'd like to do that before the installer does anything else. Just remove everything that was and put in this new installer. That's how we do it everytime. Adding the directive, I thought along with the UpgradeCode, I'm good to go ... but, it does not remove, and I still get two items for this application in Add/Remove Programs. This is my XML, and what I'm trying to do is simply remove all previous versions (that have the UpgradeCode) and then put on this version 4.3.0 (previous version was 4.2.0 and a Visual Studio Installer Project): <?xml version="1.0" encoding="UTF-8"?> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension"> <Product Id="*" Name="Program Name Removed" Language="1033" Version="4.3.0" Manufacturer="Company Name Removed" UpgradeCode="17652B67-2C4F-4752-88CE-0E300DEA4C2F"> <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" InstallPrivileges="elevated" Manufacturer="Company Name Removed" Platform="x86" /> <!-- BEGIN: License Agreement --> <WixVariable Id="WixUILicenseRtf" Value="SetupResources/LicenseAgreement.rtf" /> <!-- BEGIN: UI Bitmaps --> <WixVariable Id="WixUIBannerBmp" Value="SetupResources/WiXDefBannerBitmap.bmp" /> <WixVariable Id="WixUIDialogBmp" Value="SetupResources/WiXDefDialogBitmap.bmp" /> <!-- BEGIN: Custom Actions --> <CustomAction Id='validateSqlServer' BinaryKey='customPaActions' DllEntry='ValidateSqlServer' /> <CustomAction Id='validateTpdb' BinaryKey='customPaActions' DllEntry='ValidateTpdb' /> <CustomAction Id='validateProductDb' BinaryKey='customPaActions' DllEntry='ValidateProductDb' /> <CustomAction Id='tryUpdateTpdb' BinaryKey='customPaActions' DllEntry='TryUpdateTpdb' /> <Binary Id='customPaActions' SourceFile='D:\TFS\Program Name Removed\Main\Src\Program Name Removed\WiX.PA.CustomActions\obj\x86\WiX Project Output Configuration\WiX.PA.CustomActions.CA.dll' /> <!-- BEGIN: Single MSI --> <MediaTemplate EmbedCab="yes" /> <!-- BEGIN: Application Icon --> <Icon Id="appicon.ico" SourceFile="SetupResources/appicon.ico"/> <!-- BEGIN: .NET Version Launch Condition --> <PropertyRef Id="NETFRAMEWORK45" /> <Condition Message="You must install Microsoft .NET 4.5"> <![CDATA[Installed OR NETFRAMEWORK45]]> </Condition> <InstallExecuteSequence> <RemoveExistingProducts After="InstallInitialize" /> <InstallExecute After="RemoveExistingProducts" /> <Custom Action="validateSqlServer" Before="validateProductDb">NOT Installed</Custom> <Custom Action="validateProductDb" Before="validateTpdb">NOT Installed</Custom> <Custom Action="validateTpdb" Before="tryUpdateTpdb">NOT Installed</Custom> <Custom Action="tryUpdateTpdb" Before="InstallFinalize">NOT Installed</Custom> </InstallExecuteSequence>
<!-- BEGIN: File System --> <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="ProgramFilesFolder"> <Directory Id="CompanyFolder" Name="Company Name Removed"> <Directory Id="INSTALLDIRECTORY" Name="Program Name Removed"> <Directory Id="Cache" Name="Cache"> <Directory Id="Images" Name="Images"> </Directory> </Directory> <Directory Id="Help" Name="Help"/> </Directory> </Directory> </Directory> <Directory Id="DesktopFolder" Name="Desktop"></Directory> <Directory Id="StartMenuFolder" Name="StartMenu"></Directory> <Directory Id="StartupFolder" Name="StartUp"></Directory> <Directory Id='AppDataFolder' Name='Roaming'> <Directory Id="Company Name RemovedFolder" Name="Company Name Removed"> <Directory Id='ProgramNameRemovedFolder' Name='Program Name Removed'> <Directory Id='SettingsFolder' Name='Settings'/> <Directory Id='ErrorFolder' Name='Error'/> <Directory Id='CacheFolder' Name='Cache'/> <Directory Id='LogFolder' Name='Log'/> </Directory> </Directory> </Directory> <Directory Id="ProgramMenuFolder"> <Directory Id="ApplicationProgramsFolder" Name="Program Name Removed"/> </Directory> </Directory> <!-- BEGIN: Features --> <Feature Id="ProductFeature" ConfigurableDirectory="TARGETDIR" Level="1"> <ComponentGroupRef Id="Shortcuts"/> <ComponentGroupRef Id="ProductComponents.Help" /> <ComponentGroupRef Id="ProductComponents.Images" /> <ComponentGroupRef Id="ProductComponents.RoamingFolders" /> <ComponentGroupRef Id="HeatBinaryFiles" /> </Feature> <!-- BEGIN: Add/Remove Programs Icon --> <Property Id="ARPPRODUCTICON" Value="appicon.ico" /> <!-- BEGIN: User Interface --> <UIRef Id="WixUI_APPNAME" /> </Product> </Wix> Any sharp eyes seeing what I'm doing wrong? Relating back to Visual Studio Installers, I just checked "remove existing versions" (and detect newer versions) or what it was called again, and it's the same behavior I'm looking for here. Best Regards, Tom ------------------------------------------------------------------------------ See everything from the browser to the database with AppDynamics Get end-to-end visibility with application monitoring from AppDynamics Isolate bottlenecks and diagnose root cause in seconds. Start your free trial of AppDynamics Pro today! http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users