Thanks I think I understand the picture Giora
Blair wrote: > The intent is: > - A major update is an update that "replaces" all previous versions of a > product. It never requires (usually) the previous version to be installed. > - A minor update is an identical copy of an original with some "minor" > changes. You can't really remove anything in the "replacement package" from > the already installed package (without involving major breaking things). > > The only way to have the "upgrade" contain only new stuff that combines with > older stuff is to make an MSP and send it out. > > OnlyDetect should be 'no' and your upgrade package must have everything it > needs by itself (it must not depend on the previous package ever having been > installed). > > -----Original Message----- > From: Giora keinan [mailto:grkei...@gmail.com] > Sent: Thursday, December 10, 2009 1:57 AM > To: General discussion for Windows Installer XML toolset. > Subject: Re: [WiX-users] multiple entries in add remove programs. > > Hello Again > The Allusers were not the same. I set them both to Allusers = 1. > > I received the following results: > > In Major Update: > - in case that the OnlyDetect='yes' : > There are two entries in the Add Remove Programs > - in case that the OnlyDetect='no' : > There are is one entry in the Add Remove Programs > But all the files of the original installation are deleted. (only > the two components that are part of the upgrade are installed). > > In Minor Update: > No change - the upgrade works, there is one entry in the Add remove > programs, the problem is that when I remove the program, only the > upgrade is removed. > > In the Minor mode I tried to debug using a log file and the > MSIENFORCEUPGRADECOMPONENTROULES=1. > its stops the installation with error 2771. Looking at the log file the > msiexec is looking for a component that is part of the original > installation but not part of the upgrade. > > I am using the same feature name in both setup and upgrade. > > Thanks > Giora > > > > > > Wilson, Phil wrote: > >> Assuming you did all that, and corrected the OnlyDetect value, then all I >> > can think of now is that the Allusers value is not the same between the old > version and the newer one. > >> If you install and take an MSI log: >> >> Msiexec /I <path to msi file> /l*v <path to a log file> >> >> What does the log say, looking at all the FindRelatedProducts data? >> >> Phil Wilson >> >> -----Original Message----- >> From: Giora keinan [mailto:grkei...@gmail.com] >> Sent: Wednesday, December 09, 2009 6:43 AM >> To: General discussion for Windows Installer XML toolset. >> Subject: Re: [WiX-users] multiple entries in add remove programs. >> >> Hello All >> After playing two more days I made no progress. >> I tried all the advises I got, including rewriting the wxs file >> following the example in Neil Sleightholm's blog. >> >> I got the same two results: >> Major upgrade: (Using '*') every thing works but I got two entries in >> the Add Remove Programs. One for the original installation and one for >> the Upgrade. >> Minor Upgrade. (using the original component and product key). I have >> only one Entry in the Add Remove Program but when I Uninstall this entry >> only the components that are part of the upgrade are removed. >> >> I tried every combination of Keys automatic GUID and msiexec command >> line argument (including running directly the Upgrade.msi). >> >> The application should be upgrade frequently, so we can't have an entry >> for each upgrade. >> >> Thanks >> Giora >> >> >> >> Neil Sleightholm wrote: >> >> >>> Goira, your Product/@UpgradeCode doesn't match Upgrade/@Id that is why >>> you get the duplicate. Take a look at my sample again you will see I use >>> <?define UpgradeCode> to stop this happening. >>> >>> Neil >>> >>> -----Original Message----- >>> From: Giora keinan [mailto:grkei...@gmail.com] >>> Sent: 07 December 2009 09:35 >>> To: General discussion for Windows Installer XML toolset. >>> Subject: Re: [WiX-users] multiple entries in add remove programs. >>> >>> Hello >>> Thanks Sascha, Asker and Neil. >>> I tried your ideas and still have no idea what is the problem >>> I am using only 3 digits version (trying to upgrade 1.0.7 to 1.0.8) >>> >>> following in my upgrade code, maybe you will found what is the problem: >>> >>> <?xml version='1.0' encoding='windows-1252'?> >>> >>> <?define Version = "1.0.8" ?> >>> >>> <Wix xmlns='http://schemas.microsoft.com/wix/2006/wi'> >>> <Product Name='CapsCake' Id='*' >>> UpgradeCode='2638A59D-5047-4E78-87A6-A665B98FA131' >>> Language='1033' Codepage='1252' Version='$(var.Version)' >>> Manufacturer='Gakay'> >>> >>> >>> <Package Id='*' Keywords='Installer' >>> Description="CapCake $(var.Version) Updater" >>> Comments='CapsCake is a trademark of Gakay.' Manufacturer='Gakay' >>> InstallerVersion='100' Languages='1033' Compressed='yes' >>> SummaryCodepage='1252' /> >>> >>> <Property Id="INSTALLDIR"> >>> <RegistrySearch Id='CapsCakeRegistry' Type='raw' >>> Root='HKLM' Key='Software\Gakay\CapsCake' Name='InstallDir' /> >>> </Property> >>> >>> <Upgrade Id="474E4E86-1153-4A4D-8ECE-6B1F4D423B24"> >>> <UpgradeVersion OnlyDetect="yes" >>> Property="OLDERVERSIONBEINGUPGRADED" >>> Minimum="1.0.0" IncludeMinimum="yes" >>> Maximum="$(var.Version)" >>> IncludeMaximum="no" /> >>> <UpgradeVersion OnlyDetect="yes" Property="NEWERVERSIONDETECTED" >>> Minimum="$(var.Version)" IncludeMinimum="no" /> >>> </Upgrade> >>> >>> >>> <CustomAction Id="AlreadyUpdated" Error="[ProductName] is >>> already installed." /> >>> <CustomAction Id="NoDowngrade" Error="A later version of >>> [ProductName] is already installed." /> >>> >>> >>> <Media Id='1' Cabinet='CapsCake.cab' EmbedCab='yes' /> >>> <!--> <Property Id='DiskPrompt' Value="CapCake $(var.Version) Updater >>> [1]" /> <--> >>> >>> <Directory Id='TARGETDIR' Name='SourceDir'> >>> <Directory Id='ProgramFilesFolder' Name='PFiles'> >>> <Directory Id='INSTALLDIR' Name='.'> >>> >>> <Component Id='MainExecutable' Guid='*'> >>> <File Id='CpasCakeEXE' Name='CapsCake.exe' DiskId='1' >>> Source='CapsCake.exe' KeyPath='yes'> >>> </File> >>> </Component> >>> >>> </Directory> >>> </Directory> >>> >>> <Component Id='CapsAppVersion' Guid='*'> >>> <RegistryValue Id='CapsAppVersionKey' Root='HKLM' >>> Key='Software\Gakay\CapsCake' Name='AppVersion' Type='string' >>> Value='$(var.Version)' Action='write' /> >>> </Component> >>> >>> >>> </Directory> <!--> of the first dir <--> >>> >>> >>> <Feature Id='Complete' Title='CapsCake' Description='The complete >>> package.' Display='hidden' Level='1' >>> ConfigurableDirectory='INSTALLDIR'> >>> <ComponentRef Id='MainExecutable' /> >>> <ComponentRef Id='CapsAppVersion' /> >>> </Feature> >>> >>> >>> >>> <InstallExecuteSequence> >>> <!--> <Custom Action='AlreadyUpdated' >>> After='FindRelatedProducts'>OLDERVERSIONBEINGUPGRADED</Custom> <--> >>> <Custom Action='NoDowngrade' >>> After='FindRelatedProducts'>NEWERVERSIONDETECTED</Custom> >>> </InstallExecuteSequence> >>> >>> >>> >>> </Product> >>> </Wix> >>> >>> >>> Thanks >>> Giora >>> >>> >>> >>> >>> >>> Sascha Beaumont wrote: >>> >>> >>> >>>> Using Package/@Id="*" I'm using the following code - this prevents two >>>> versions being installed where only the 4th version number differs. >>>> This is primarily to prevent confusion with internal testing, and >>>> means that we bump the third version following each public release in >>>> order to permit upgrades. We only release major upgrades, so I've got >>>> no idea how the code below would perform in a minor upgrade/patch >>>> scenario. >>>> >>>> >>>> >>>> <Upgrade Id="$(var.Property_UpgradeCode)"> >>>> <UpgradeVersion OnlyDetect="yes" >>>> Minimum="$(var.version)" >>>> Property="NEWERVERSIONDETECTED" >>>> IncludeMinimum="no" /> >>>> >>>> <UpgradeVersion OnlyDetect="no" >>>> Maximum="$(var.version)" >>>> Property="OLDERVERSIONBEINGUPGRADED" >>>> IncludeMaximum="no" /> >>>> >>>> <!-- Detect for changes in 4th field only --> >>>> <UpgradeVersion Property="ANOTHERBUILDINSTALLED" >>>> Maximum="$(var.version)" Minimum="$(var.version)" >>>> IncludeMinimum="yes" IncludeMaximum="yes" >>>> >>>> >>>> >>> OnlyDetect="yes" /> >>> >>> >>> >>>> </Upgrade> >>>> >>>> <CustomAction Id="CA_BlockOlderVersionInstall" >>>> Error="!(loc.LaunchCondition_LaterVersion)" /> >>>> <CustomAction Id="CA_BlockAnotherBuildInstall" >>>> Error="!(loc.LaunchCondition_AnotherBuild)" /> >>>> >>>> >>>> <InstallExecuteSequence> >>>> <Custom Action="CA_BlockOlderVersionInstall" >>>> >>>> >>>> >>> After="FindRelatedProducts"> >>> >>> >>> >>>> <![CDATA[NEWERVERSIONDETECTED]]> >>>> </Custom> >>>> >>>> <!-- Prevent installation on 4th version field change only --> >>>> <Custom Action="CA_BlockAnotherBuildInstall" >>>> >>>> >>>> >>> After="FindRelatedProducts"> >>> >>> >>> >>>> <![CDATA[ANOTHERBUILDINSTALLED]]> >>>> </Custom> >>>> </InstallExecuteSequence> >>>> >>>> >>>> On Mon, Dec 7, 2009 at 5:54 PM, Asker Brodersen >>>> <asker.broder...@esri-sgroup.se> wrote: >>>> >>>> >>>> >>>> >>>>> Giora, do your versions differ by more than the fourth digit? >>>>> >>>>> I have found that if you install 1.0.0.0 and then 1.0.0.1 they will >>>>> >>>>> >>>>> >>> both be listed as installed. >>> >>> >>> >>>>> Incrementing the third digit (ie 1.0.0.0 to 1.0.1.0) the older >>>>> >>>>> >>>>> >>> version will be replaced. >>> >>> >>> >>>>> To enable replacement also by fourth digit version increments, this >>>>> >>>>> >>>>> >>> is how my Upgrade section looks like (Id for both Product and Package >>> are '*', and my current build version is '$(var.BuildVersion)'): >>> >>> >>> >>>>> <Upgrade Id='YOUR-OWN-GUID-HERE'> >>>>> <!-- Define the range of old versions that should be upgraded by the >>>>> >>>>> >>>>> >>> new .msi --> >>> >>> >>> >>>>> <!-- IncludeMaximum='yes' gives ICE61 warning as it forces upgrade >>>>> >>>>> >>>>> >>> of same version installs, >>> >>> >>> >>>>> but is neccesary to upgrade versions that differ by only the fourth >>>>> >>>>> >>>>> >>> digit ie 1.0.0.0 to 1.0.0.1. >>> >>> >>> >>>>> Normally only 1.0.0.0 to 1.0.1.0 differences are treated as a new >>>>> >>>>> >>>>> >>> version--> >>> >>> >>> >>>>> <UpgradeVersion OnlyDetect='no' >>>>> Maximum='$(var.BuildVersion)' >>>>> Property='OLDERVERSIONBEINGUPGRADED' >>>>> IncludeMaximum='yes' /> >>>>> >>>>> <!-- Detect out-of-order installations --> >>>>> <UpgradeVersion OnlyDetect='yes' >>>>> Minimum='$(var.BuildVersion)' >>>>> Property='NEWERVERSIONDETECTED' >>>>> IncludeMinimum='no' /> >>>>> </Upgrade> >>>>> >>>>> Regards, >>>>> Asker >>>>> >>>>> -----Original Message----- >>>>> From: Neil Sleightholm [mailto:n...@x2systems.com] >>>>> Sent: den 6 december 2009 18:46 >>>>> To: General discussion for Windows Installer XML toolset. >>>>> Subject: Re: [WiX-users] multiple entries in add remove programs. >>>>> >>>>> 1. Package/@Id is optional but "*" is ok. >>>>> 2. Order doesn't matter >>>>> 3. Not sure I understand >>>>> >>>>> Is your UpgradeCode/@Id fixed for both installations? Do you have >>>>> RemoveExistingProducts scheduled somewhere? Do you have an <Upgrade> >>>>> section? >>>>> >>>>> You shouldn't need to update using that command line, it should just >>>>> work when you run it. >>>>> >>>>> I hope that helps. >>>>> >>>>> Neil >>>>> >>>>> -----Original Message----- >>>>> From: Giora keinan [mailto:grkei...@gmail.com] >>>>> Sent: 06 December 2009 15:29 >>>>> To: General discussion for Windows Installer XML toolset. >>>>> Subject: Re: [WiX-users] multiple entries in add remove programs. >>>>> >>>>> Neil Hello >>>>> Thanks for the fast answer. >>>>> I looked at code in the URL you sent me. It looks for me that my >>>>> >>>>> >>>>> >>> code >>> >>> >>> >>>>> is similar. >>>>> >>>>> The differences I found where: >>>>> 1. My code has <Package Id='*' Keywords='Installer' >>>>> which is not in the code you sent me. >>>>> 2. In my code the order of <Product Name='CapsCake' Id='*' is >>>>> >>>>> >>>>> >>> reversed >>> >>> >>> >>>>> to the one in your code "<Product Id="*" Name=xxxx >>>>> 3. I have code for founding the original installation directory. >>>>> >>>>> What I failed to find is what make the installer to add one more >>>>> >>>>> >>>>> >>> entry >>> >>> >>> >>>>> to the add / remove programs. >>>>> >>>>> As the upgrade command I am using: >>>>> >>>>> msiexec /i "CapsCakeUpgrade.msi" REINSTALLMODE=omu >>>>> >>>>> Thanks >>>>> Giora >>>>> >>>>> >>>>> >>>>> Neil Sleightholm wrote: >>>>> >>>>> >>>>> >>>>> >>>>>> It sounds like you haven't got the upgrade code correct, there is a >>>>>> sample here >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>> http://neilsleightholm.blogspot.com/2009/01/wix-script-for-major-upgrade >>> >>> >>> >>>>> >>>>> >>>>> >>>>> >>>>>> s.html that might help. >>>>>> >>>>>> Neil >>>>>> >>>>>> -----Original Message----- >>>>>> From: Giora Keinan [mailto:grkei...@gmail.com] >>>>>> Sent: 06 December 2009 12:54 >>>>>> To: wix-users@lists.sourceforge.net >>>>>> Subject: [WiX-users] multiple entries in add remove programs. >>>>>> >>>>>> hello >>>>>> Each time I am running a new upgrade, the installer add one more >>>>>> >>>>>> >>>>>> >>> entry >>> >>> >>> >>>>>> >>>>>> in the add remove program. >>>>>> How can I made an upgrade without adding it to the add remove >>>>>> >>>>>> >>>>>> >>> program >>> >>> >>> >>>>>> (leaving only one add remove in place). >>>>>> >>>>>> Thanks >>>>>> Giora >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>>> >>>>> -- >>>>> ------------------------------------------------- >>>>> Giora Keinan >>>>> CapsCake - The natural language launcher. >>>>> Because free text is easy. >>>>> http://www.capscake.com >>>>> ------------------------------------------------- >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>> ------------------------------------------------------------------------ >>> >>> >>> >>>>> ------ >>>>> Join us December 9, 2009 for the Red Hat Virtual Experience, >>>>> a free event focused on virtualization and cloud computing. >>>>> Attend in-depth sessions from your desk. Your couch. Anywhere. >>>>> http://p.sf.net/sfu/redhat-sfdev2dev >>>>> _______________________________________________ >>>>> WiX-users mailing list >>>>> WiX-users@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>>> >>>>> >>>>> >>>>> >>>>> >>> ------------------------------------------------------------------------ >>> ------ >>> >>> >>> >>>>> Join us December 9, 2009 for the Red Hat Virtual Experience, >>>>> a free event focused on virtualization and cloud computing. >>>>> Attend in-depth sessions from your desk. Your couch. Anywhere. >>>>> http://p.sf.net/sfu/redhat-sfdev2dev >>>>> _______________________________________________ >>>>> WiX-users mailing list >>>>> WiX-users@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>>> >>>>> >>>>> >>>>> >>>>> >>> ------------------------------------------------------------------------ >>> ------ >>> >>> >>> >>>>> Join us December 9, 2009 for the Red Hat Virtual Experience, >>>>> a free event focused on virtualization and cloud computing. >>>>> Attend in-depth sessions from your desk. Your couch. Anywhere. >>>>> http://p.sf.net/sfu/redhat-sfdev2dev >>>>> _______________________________________________ >>>>> WiX-users mailing list >>>>> WiX-users@lists.sourceforge.net >>>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> ------------------------------------------------------------------------ >>> ------ >>> >>> >>> >>>> Join us December 9, 2009 for the Red Hat Virtual Experience, >>>> a free event focused on virtualization and cloud computing. >>>> Attend in-depth sessions from your desk. Your couch. Anywhere. >>>> http://p.sf.net/sfu/redhat-sfdev2dev >>>> _______________________________________________ >>>> WiX-users mailing list >>>> WiX-users@lists.sourceforge.net >>>> https://lists.sourceforge.net/lists/listinfo/wix-users >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >> >> > > -- ------------------------------------------------- Giora Keinan CapsCake - The natural language launcher. Because free text is easy. http://www.capscake.com ------------------------------------------------- ------------------------------------------------------------------------------ Return on Information: Google Enterprise Search pays you back Get the facts. http://p.sf.net/sfu/google-dev2dev _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users