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-users@lists.sourceforge.net/msg35219.html
>
> 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.
>
> 2.  The second question is also related to upgrades.  This one is easily
> reproducible.  The problem is that the connected USB device is completely
> removed from Device Manager after the upgrade, and does not reappear until
> the "Scan for hardware changes" button in Device Manager is clicked.  What
> seems to happen is the following:
>
> a.  As part of the major upgrade, the old driver is uninstalled.  At this
> time, the device is completely removed from Device Manager (like if I
> right-clicked it and said to uninstall it).
> b.  The new driver is installed, but does not install/upgrade any driver for
> the connected device because it is no longer enumerated in Device Manager.
> (i.e. DIFx does not think any such device is connected & needs setup).
> c.  Of course, the user proceeds to use our application, and wonders why the
> hardware device is no longer found.
> d.  Clicking the "Scan for hardware changes" button in Device Manager (or
> rebooting) will enumerate the USB device and load the appropriate drivers
> from DIFx.  At this point, our application will work again.
>
> It seems like this must be an extremely common occurrence with other
> plug-and-play widgets that use DIFxApp and need upgrading.  I can easily
> enough add a custom action at the end of setup that calls the
> CM_Reenumerate_DevNode API (see http://support.microsoft.com/kb/259697).
> But given the fact that this seems like it should be a common situation: is
> this the recommended way to handle this?  What is the best practice to use
> in this scenario?  Does a custom action already exist for this?  Am I doing
> something wrong with DIFx (i.e. do I need to change my usage of DIFx instead
> of write a custom action)?
>
> If anyone has so much as even heard of either of the issues above, I would
> be grateful for some advice or pointers in the right direction.
>
> Best regards,
>
> James Johnston
>
>
>
> ------------------------------------------------------------------------------
> Increase Visibility of Your 3D Game App & Earn a Chance To Win $500!
> Tap into the largest installed PC base & get more eyes on your game by
> optimizing for Intel(R) Graphics Technology. Get started today with the
> Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
> http://p.sf.net/sfu/intelisp-dev2dev
>



------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to