The rules are: 1. ProductCode different to previous version. 2. UpgradeCode the same. 3. ProductVersion incremented in the first three digits. http://msdn.microsoft.com/en-us/library/windows/desktop/aa370859(v=vs.85).aspx 4. The InstallScope (or whatever you used to set the ALLUSERS property) must be the same as the already installed product.
A verbose log should tell you which, and the ProductVersion comment about "other installers" is not relevant if they were not MSI setups, see the link there. Phil Wilson On Fri, Sep 20, 2013 at 6:46 AM, Daniel Sniderman <dani...@magenic.com>wrote: > 1) $(var.Version) is set in properties as Version=$(Version) which is > passed via TFS. This works fine in all my other builds > 2) we are incrementing the last node (3.8.0.40 to 3.8.0.41) which has > never been in an issue in other installers. I will try incrementing > another node to see if that makes a difference > 3) I have tried MajorUpgrade - and a number of other things that hasn't > worked. - I'll try it again and post the next. > > The main difference from this installer from my others > > 1) It's a Windows Service as opposed to Windows Forms (not that that > should matter) > 2) The UI code at the bottom -which you can see is to set the user/account > for the installer and permissions on the folder. > > Thanks! > > -----Original Message----- > From: Edwin Castro [mailto:0ptikgh...@gmx.us] > Sent: Thursday, September 19, 2013 7:56 PM > To: wix-users@lists.sourceforge.net > Subject: Re: [WiX-users] Getting Duplicate Entries in Add/Remove Programs > > I assume you are getting duplicate entries after you attempt an upgrade. > If so, how is $(var.Version) changing between upgrade attempts? > > Be aware that Windows Installer only takes the first THREE parts of the > ProductVersion into consideration. ProductVersions 1.2.3.4 and 1.2.3.5 are > the same ProductVersion to Windows Installer. > > /Wix/Product/@UpgradeCode does not match /Wix/Product/Upgrade/@Id. I > expected them to be the same. > > I also expected /Wix/Product/Upgrade/UpgradeVersion/@Maximum == > $(var.Version) instead of 99.0.0.0. > > Consider using the <MajorUprade/> element instead of handcrafting your own > Upgrade entries. > > On 9/19/13 5:11 PM, Daniel Sniderman wrote: > > Not sure what I'm doing wrong. Here's my XML, I've tried other > suggestions I've found on this list, Stack Overflow etc - but nothing I do > makes a difference. > > > > Thanks! > > > > > > <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" > > xmlns:util="http://schemas.microsoft.com/wix/UtilExtension"> > > <Product Id="*" Language="1033" Version="$(var.Version)" > Manufacturer="Abbott Laboratories" Name="ActivityService" > UpgradeCode="89071eb3-16a3-4c6b-bd1d-e6a97c4359db"> > > <Package Compressed="yes" InstallerVersion="300" Languages="1033" > > Manufacturer="Abbott Laboratories" InstallScope="perMachine" /> > > > > <Media Id="1" Cabinet="media1.cab" EmbedCab="yes" /> > > <Property Id="PREVIOUSVERSIONSINSTALLED" Secure="yes" /> > > <Upgrade Id="{43D6C7B1-E6C5-4F3B-89D8-B3FA2002CE7C}"> > > <UpgradeVersion > > Minimum="1.0.0.0" Maximum="99.0.0.0" > > Property="PREVIOUSVERSIONSINSTALLED" > > IncludeMinimum="yes" IncludeMaximum="no" /> > > </Upgrade> > > <InstallExecuteSequence> > > <RemoveExistingProducts After="InstallInitialize" /> > > </InstallExecuteSequence> > > <Directory Id="TARGETDIR" Name="SourceDir"> > > <Directory Id="ACTIVITY_SERVICE" Name="ActivityService"> > > </Directory> > > </Directory> > > <Feature Id="ProductFeature" Title="ActivityServiceSetup" Level="1" > Description="CMSNext Activity Service" > > Display="expand" ConfigurableDirectory="ACTIVITY_SERVICE"> > > <ComponentGroupRef Id="ACTIVITY_SERVICE" /> > > <Component Id="comp_28026FEE0C3F46F2AD6898511FD42690" > Guid="31E1916C-C699-48CA-BCFB-B2542D61EFB9" Directory="ACTIVITY_SERVICE"> > > <File Id="file_2DD0F42F6505433D9693CCC118B731F0" Checksum="yes" > KeyPath="yes" > Source="$(var.ActvityServiceWindowsSvc.TargetDir)\ActvityServiceWindowsSvc.exe" > /> > > <CreateFolder> > > <util:PermissionEx User="[ACCOUNT]" GenericAll="yes" /> > > </CreateFolder> > > > > <ServiceInstall Id="ServiceInstaller" > > Type="ownProcess" > > Vital="yes" > > Name="CMSNext Activity Service" > > DisplayName="CMSNext Activity Service" > > Description="CMSNext Service to send message to GIS > Hub when tickets are inserted or updated" > > Start="auto" > > ErrorControl="normal" > > Interactive="no" > > Account="[ACCOUNT]" > > Password="[PASSWORD]" > > > > > </ServiceInstall> > > <ServiceControl Id="StopInstall" > > Name="CMSNext Activity Service" > > Remove="uninstall" > > Stop="both" > > Wait="yes"> > > </ServiceControl> > > </Component> > > </Feature> > > <!-- The WIXUI_INSTALLDIR property has to be set to the installation > > directory so the user can change it in the WiXUI_InstallDir > > sequence. > > > > This requires a reference to WixUIExtension > > --> > > > > <!--<Property Id="WIXUI_INSTALLDIR" Value="ACTIVITY_SERVICE" /> > > <UI> > > <UIRef Id="WixUI_InstallDir" /> > > </UI>--> > > <UIRef Id="WixUI_ErrorProgressText"/> > > <UIRef Id="WixUI_Common" /> > > > > <Binary Id="WarningIcon" SourceFile="alert.jpg"/> > > > > <UI Id="MyWixUI_FeatureTree"> > > <TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" /> > > <TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" /> > > <Property Id="DefaultUIFont" Value="WixUI_Font_Normal" /> > > <Property Id="WixUI_Mode" Value="FeatureTree" /> > > > > <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="ExitDialog" Control="Finish" Event="EndDialog" > > Value="Return" Order="999">1</Publish> > > > > <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" > > Value="LicenseAgreementDlg">1</Publish> > > > > <Publish Dialog="LicenseAgreementDlg" Control="Back" > Event="NewDialog" Value="WelcomeDlg">1</Publish> > > <Publish Dialog="LicenseAgreementDlg" Control="Next" > > Event="NewDialog" Value="CustomizeDlg">LicenseAccepted = "1"</Publish> > > > > <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" > Value="MaintenanceTypeDlg" Order="1">Installed</Publish> > > <Publish Dialog="CustomizeDlg" Control="Back" Event="NewDialog" > Value="LicenseAgreementDlg" Order="2">NOT Installed</Publish> > > <Publish Dialog="CustomizeDlg" Control="Next" Event="NewDialog" > > Value="ServiceAccountDlg" Order="1">1</Publish> > > > > <Publish Dialog="ServiceAccountDlg" Control="Back" > Event="NewDialog" Value="CustomizeDlg">1</Publish> > > <Publish Dialog="ServiceAccountDlg" Control="Next" > > Event="NewDialog" Value="VerifyReadyDlg">1</Publish> > > > > <Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" > Value="ServiceAccountDlg" Order="1">NOT Installed OR WixUI_InstallMode = > "Change"</Publish> > > <Publish Dialog="VerifyReadyDlg" Control="Back" > > Event="NewDialog" Value="MaintenanceTypeDlg" > > Order="2">Installed</Publish> > > > > <Publish Dialog="MaintenanceWelcomeDlg" Control="Next" > > Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish> > > > > <Publish Dialog="MaintenanceTypeDlg" Control="ChangeButton" > Event="NewDialog" Value="CustomizeDlg">1</Publish> > > <Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" > Event="NewDialog" Value="VerifyReadyDlg">1</Publish> > > <Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" > Event="NewDialog" Value="VerifyReadyDlg">1</Publish> > > <Publish Dialog="MaintenanceTypeDlg" Control="Back" > > Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish> > > > > <Dialog Id="ServiceAccountDlg" Width="370" Height="270" > Title="[ProductName] Setup"> > > <Control Id="Back" Type="PushButton" X="180" Y="243" Width="56" > Height="17" Text="!(loc.WixUIBack)" /> > > <Control Id="Next" Type="PushButton" X="236" Y="243" Width="56" > Height="17" Default="yes" Text="!(loc.WixUINext)"> > > <Condition Action="disable"><![CDATA[ACCOUNT = "" OR PASSWORD > = ""]]></Condition> > > <Condition Action="enable">ACCOUNT <> "" AND PASSWORD > > <> ""</Condition> > > > > </Control> > > <Control Id="Cancel" Type="PushButton" X="304" Y="243" > Width="56" Height="17" Cancel="yes" Text="!(loc.WixUICancel)"> > > <Publish Event="SpawnDialog" Value="CancelDlg">1</Publish> > > > > </Control> > > <Control Id="BannerBitmap" Type="Bitmap" X="0" Y="0" Width="370" > Height="44" TabSkip="no" Text="WixUI_Bmp_Banner" /> > > <Control Id="BannerLine" Type="Line" X="0" Y="44" Width="370" > Height="0" /> > > <Control Id="BottomLine" Type="Line" X="0" Y="234" Width="370" > Height="0" /> > > <Control Id="Description" Type="Text" X="25" Y="23" > > Width="280" Height="15" Transparent="yes" NoPrefix="yes" Text="Enter > > service account details."> > > > > </Control> > > <Control Id="Title" Type="Text" X="15" Y="6" Width="200" > Height="15" Transparent="yes" NoPrefix="yes" > Text="{\WixUI_Font_Title}Service account" /> > > <Control Type="Text" Width="322" Height="26" X="25" Y="56" > > Id="BodyLabel" Text="Specify the logon account for the [ProductName] > > service." NoPrefix="yes"> > > > > </Control> > > <Control Type="Text" Width="275" Height="10" X="25" Y="98" > Id="AccountLabel" Text="&Account name (Example: domain\user or > user@domain):" /> > > <Control Type="Edit" Width="194" Height="15" X="25" Y="111" > Id="AccountTextbox" Property="ACCOUNT" /> > > <Control Type="Text" Width="275" Height="10" X="25" Y="135" > Id="PasswordLabel" Text="Pa&ssword:" /> > > <Control Type="Edit" Width="194" Height="15" X="25" Y="148" > > Id="PasswordTextbox" Property="PASSWORD" Password="yes" /> > > > > <Control Width="12" Height="12" FixedSize="yes" Type="Bitmap" > X="25" Y="170" Id="Warning" Text="WarningIcon"/> > > <Control Id="WarningLabel" Type="Text" X="40" Y="170" > > Width="200" Height="40" Text="The account entered here will not be > > validated. Make sure that the account details entered are correct." /> > > > > </Dialog> > > > > </UI> > > > > </Product> > > </Wix> > > > > ---------------------------------------------------------------------- > > -------- LIMITED TIME SALE - Full Year of Microsoft Training For Just > > $49.99! > > 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, > > SharePoint 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library > > Power Pack includes Mobile, Cloud, Java, and UX Design. Lowest price > ever! Ends 9/20/13. > > http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.c > > lktrk _______________________________________________ > > WiX-users mailing list > > WiX-users@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > > ------------------------------------------------------------------------------ > LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! > 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, > SharePoint 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power > Pack includes Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends > 9/20/13. > http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > > > ------------------------------------------------------------------------------ > LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! > 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, > SharePoint > 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack > includes > Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. > http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk > _______________________________________________ > WiX-users mailing list > WiX-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wix-users > ------------------------------------------------------------------------------ LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99! 1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint 2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13. http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users