This did the trick for us: <InstallExecuteSequence> <RemoveExistingProducts Before="InstallInitialize" />
I haven't had any complaints in a long time now since doing this. At this point, I would always schedule things this way if using DIFxApp. As I described in the message you quoted, we previously had RemoveExistingProducts scheduled after InstallInitialize, which led to the problems I described. The downside to scheduling RemoveExistingProducts before InstallInitialize is that if the install fails, the old version isn't restored and the user is left with no product at all on their system. But it's better than a corrupted DIFxApp configuration being left on the system. It would really be nice if the DIFxApp team would fix these issues... Or at least document the limitations so that at least people who read the docs don't get trapped by this. > -----Original Message----- > From: Rob Hamflett [mailto:rob_hamfl...@sn.scee.net] > Sent: Wednesday, January 09, 2013 14:14 > To: wix-users@lists.sourceforge.net > Subject: Re: [WiX-users] DIFxApp and upgrades > > We've recently been seeing issue 1 where an upgrade doesn't work due to a > missing registry entry. We're currently telling customers how to do a full > repair on a case by case basis as this occurs. Did anyone ever find a fix for > this? > > Thanks, > Rob > > On 29/11/2010 21:23, James Johnston wrote: > > Hi, > > > > A couple questions, both regarding DIFxApp. (We use it to install > > three drivers for three plug-and-play USB devices for a hardware > > product that we > > ship.) > > > > 1. Some time ago Rob Mensching mentioned the following on this list: > > > > "Yeah, there are some design issues in the DIFxApp code around > > Upgrades I'm still trying to figure out what to do with DIFx since we > > don't have the code to fix it here. I'll try to find someone to > > forward this thread to see if we can't get some movement (not that it has > worked yet)." > > http://www.mail-archive.com/wix- > us...@lists.sourceforge.net/msg35219.h > > tml > > > > I am very interested in knowing whether anybody here knows what some > > of these design issues might be? Can DIFxApp be used when an > > application must be serviced in the future? I looked through MSDN and > > did not find any mention one way or the other regarding DIFxApp and > > upgrades. If upgrades are not supported (which would seem like a > > serious deficiency!), what is the recommended way of servicing an app > > that uses DIFxApp? Just what, exactly, are the caveats involved with > upgrades and DIFx? > > > > The reason I ask is that upgrades are not going as well as we would like. > > Currently we service our application very simply. Every new version > > is a major upgrade: new product code, new version number. We have > > always scheduled RemoveExistingProducts immediately after > > InstallInitialize. We have tested this in-house on just about every > > computer at our (small) company without any issue: the upgrades generally > go very smoothly. > > Additionally, most of our customers have also done upgrades without > issue. > > > > However, there have been a few customers (i.e. about 10: enough for us > > to not consider it to be an isolated incident) where they were unable > > to upgrade. The setup program will roll back and fail when upgrading. > > Also, they are then unable to uninstall the software: again, the setup > > program rolls back when attempting to remove the product. The MSI > > logs always point to DIFx as the problem, with DIFx indicating that > > key DIFx information in the registry is missing. Searching Google > > seems to indicate that we may not be the only people experiencing this > > issue. The problem has been observed on both Windows XP SP3 and > > Windows 7 (few customers use Vista). Every setup package uses the > > version of DIFx included with WiX 3.0 (I believe it's version 2.1.1). > > > > In order to get the customer working again, we have successfully used > > the following workaround in every case: (1) delete the key file as > > specified by the driver component, (2) do a repair of the existing > > product; the absence of the key file triggers MSI/DIFx to successfully > > install the driver again, > > (3) we can now uninstall the old product/MSI, (4) the new product/MSI > > can be installed. Unfortunately, we have not been able to reproduce > > the problem locally. That also means that we (obviously) haven't > > identified what it is about the customer computer that causes problems. > > ------------------------------------------------------------------------------ Master HTML5, CSS3, ASP.NET, MVC, AJAX, Knockout.js, Web API and much more. Get web development skills now with LearnDevNow - 350+ hours of step-by-step video tutorials by Microsoft MVPs and experts. SALE $99.99 this month only -- learn more at: http://p.sf.net/sfu/learnmore_122812 _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users