Sorry for the late response. I finally got around to watching the video, 
and I'm wondering what you would recommend I do instead.

My knowledge of WiX and MIS is fairly limited, and our installer doesn't 
really do anything fancy or unusual (all our upgrades are implemented as 
major upgrades, and all files are installed to the application's own 
directory and aren't shared with the system, so we don't have to worry 
about breaking other applications that might depend on a component we 
installed. I definitely want to keep our installer as simple and 
reliable as possible, and if this trick with versioned companion files 
scares even you, it's probably not the way to go. :)

What bothers me is that I don't think the problem I'm trying to fix is 
an edge case. It seems like what you would typically want in an 
installer (except when dealing with shared/system-wide files)

Most installers are fairly simple, and install the applications' files 
as a collection which has been tested together and is known to work: If 
a newer installer says to install an older version of a file (or one 
which is unversioned where the old one was versioned), 90% of the time 
you want that choice to be respected. The installer bundled that file 
for a reason.

MSI deciding to not install the file because of its version becomes a 
big problem then (especially because of its default behavior of removing 
the old file and skipping the new one, leaving you with neither).

In many cases you can just avoid the problem by never downgrading files, 
but as soon as your product includes third party libraries, you lose 
direct control of some of your files' versions. If they screw up their 
versioning, or you have to roll back to an older version of that 
library, you want the installer to respect that, and install the 
downgraded file. That seems like the behavior that most simple 
installers would want (and probably the behavior that their implementers 
*think* they already have), not an edge case.

The trouble is, I can't see a nice way to achieve this. I know of these 
three options so far:

1. scheduling RemoveExistingProducts before CostInitialize (which 
generates an ICE)
2. setting INSTALLMODE=amus (which also generates an ICE)
3. eventually I came up with versioned companion files (have files be 
companions to a single "main" file whose version is in sync with the 
installer's version), which I agree is an odd approach, but so far, it's 
the only one I've found that doesn't generate ICE's. It seems to work in 
the testing I've done, but using an approach that scares the WiX 
maintainers seems like a bad idea. ;)

Conceptually, what I want to achieve is simply that as far as MSI is 
concerned, all files are considered to have the same version as the 
installer that installed them.

So what is your recommendation? Should I just go for #1, and suppress 
the consistency check? That's simple enough to do at least, but with my 
limited knowledge of WiX, I didn't want to just suppress any ICE's on a 
whim. I figured they're there for a reason, and I didn't want to end up 
with an installer that might break in mysterious ways further down the 
road..

Thanks,

/ Jesper




On 20-06-2014 18:13, Rob Mensching wrote:
> I'll be uploading the triage meetings to YouTube soon 
> (https://www.youtube.com/channel/UCVJeW1mjSujNPfsCQhsg7qQ) where we discuss 
> this issue.
>
> It came down to the fact that what you are doing is very unusual. Since it's 
> so unusual, you should manage the GUID manually. It certainly isn't a design 
> we'd generally encourage.
>
> _______________________________________________________________
>   FireGiant  |  Dedicated support for the WiX toolset  |  
> http://www.firegiant.com/
>
> -----Original Message-----
> From: Jesper Alf Dam [mailto:j...@medical-insight.com]
> Sent: Friday, June 20, 2014 1:13 AM
> To: wix-users@lists.sourceforge.net
> Subject: [WiX-users] What problems can occur with versioned companion files?
>
> I recently filed bug 4448, in which the following response was posted:
>
>      Versioned companion files are atypical and would seem to bring their
>      own problems for upgrades and patching. We don't plan to expand *
>      GUIDs to cover this case.
>
> That bug is probably not the right place to ask this, so I'm posting it here 
> instead:
>
> What are those problems with upgrades and patching?
>
> I recently posted a question here about overriding file versions (so that an 
> installer containing a few third-party files whose versions have decreased 
> will still install those files over the ones that were already in place when 
> doing an upgrade), and the solution I settled on (the only one which didn't 
> require me to suppress one or more consistency checks) was to mark these 
> files as companions so their own version is disregarded. From what I've been 
> able to test, that works fine, but the comment above makes me wonder if I'm 
> missing anything.
>
> Thanks,
> Jesper
>
> ------------------------------------------------------------------------------
> HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions 
> Find What Matters Most in Your Big Data with HPCC Systems Open Source. Fast. 
> Scalable. Simple. Ideal for Dirty Data.
> Leverages Graph Analysis for Fast Processing & Easy Data Exploration 
> http://p.sf.net/sfu/hpccsystems 
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
> ------------------------------------------------------------------------------
> HPCC Systems Open Source Big Data Platform from LexisNexis Risk Solutions
> Find What Matters Most in Your Big Data with HPCC Systems
> Open Source. Fast. Scalable. Simple. Ideal for Dirty Data.
> Leverages Graph Analysis for Fast Processing & Easy Data Exploration
> http://p.sf.net/sfu/hpccsystems
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to