If msiOld has no guard at all, then it will potentially install itself on "top" 
of anything, no matter what you do. All you can do is reduce its vectors of 
installation.
 
If someone presents your msiOld via MSI double-click, you can prevent its 
installation by having another MSI with the same ProductCode installed, which 
is what you appear to be attempting to do. However, if either a somewhat 
knowledgeable user or a somewhat smart bootstrapper assists the user, then your 
msiBlock can be replaced with msiOld by adding REINSTALL to the commandline 
(and including the "v" in REINSTALLMODE), thwarting your efforts, unless the 
bootstrapper extracts the ProductVersion of the installed msiBlock and compares 
it to the ProductVersion of the attempted msiOld. Installing msiBlock, however, 
will never be a "Major Upgrade", because by definition, major upgrades cannot 
share the ProductCode. You may be confusing tools by having a different 
UpgradeCode between msiBlock and msiOld (normally they would share the same 
UpgradeCode). It makes sense to use a different UpgradeCode between msiNew and 
the other MSIs (because you don't want even newer msiNew's to remove msiBlo
 ck). So, if you want to continue to block what you still can block, my 
recommendation is to give msiBlock the following values: productIdA, 
upgradeIdA, and a reasonably large ProductVersion (255.255.32767). You will 
need to include in msiBlock every component and feature in msiOld (using the 
very same component/feature tree used by oldMsi), but you can make every one of 
those components transitive and give them a condition of "0" (the number zero). 
You may need to include zero-byte files for each of the files in msiBlock 
(named the same as in msiOld), and you may also need to provide the same 
registry entries as well (although you can probably drop all custom actions 
that aren't involved with determining directory paths). If all of that is too 
much, my alternate recommendation is to simply instruct users to not reinstall 
msiOld, and if/when they do, to have them remove it and then repair msiNew. At 
the end of the day, you will probably be telling them to do that anyway (when 
they ci
 rcumvent your attempts to block them from doing so).
-Blair
> From: i...@tobias-erichsen.de
> To: wix-users@lists.sourceforge.net
> Date: Sun, 1 Dec 2013 15:16:03 +0000
> Subject: Re: [WiX-users] Little major/minor-update problem with burn / msi
> 
> msiOld: productIdA, upgradeIdA
> msiNew: productIdB (*), upgradeIdB
> msiBlock: productIdA, upgradeIdC
> 
> The problem is that msiOld does not have any guard and that is why
> I want to install some kind of (invisible) blocking-installer.
> 
> I cannot change the msiOld (because it is out in the open), but
> I have all possibilities to change msiNew & msiBlock.
> 
> It is no solution though to fix it by changing msiNew, as the merge-Module
> is used in two different products (msiOld1 & msiOld2) so I cannot use
> msiNew (because there will be msiNew1 & msiNew2) to block the old install...
> 
> > Do "msiBlock" and "msiOld" share the same ProductCode?
> > Is that ProductCode (or any ProductCode) also shared by "msiNew"?
> > Do all three share the same UpgradeCode?
> > Does "msiOld" have any code to guard against it being the source of a 
> > downgrade?
> 
> 
> ------------------------------------------------------------------------------
> Rapidly troubleshoot problems before they affect your business. Most IT 
> organizations don't have a clear picture of how application performance 
> affects their revenue. With AppDynamics, you get 100% visibility into your 
> Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
> http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users

                                          
------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349351&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to