[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Driver uninstallation issues



Okay, I can submit patches with those changes. Is there anything specific that coinstallers do that cannot be done through universal inf files (which seem to be what Microsoft is encouraging)?

Troy

On Fri, Oct 23, 2020 at 12:55 PM Paul Durrant <xadimgnik@xxxxxxxxx> wrote:

Hi Troy,

 

  Thanks for the analysis. We always seem to be working round Microsoft’s insistence in steadily making co-installers more broken whilst not offering an alternative. If the DIF_SELECTBESTCOMPATDRV works then I guess we go with that. Similarly we should guard DifInstall as you suggest.

 

  Cheers,

 

    Paul

 

From: win-pv-devel <win-pv-devel-bounces@xxxxxxxxxxxxxxxxxxxx> On Behalf Of Troy Crosley
Sent: 22 October 2020 13:04
To: win-pv-devel@xxxxxxxxxxxxxxxxxxxx
Subject: Driver uninstallation issues

 

In Windows 10 version 2004, The coinstallers' DIF_INSTALLDEVICE routines do not get called on driver uninstall (via e.g. Apps & Features). In previous versions of Windows, this occurs as part of the uninstall during the null device install and is the only time DifRemove gets called to perform cleanup. We found a workaround by calling DifRemove (in the case of null drivers) from DIF_SELECTBESTCOMPATDRV, which is the only coinstaller request that seems to happen on uninstall in Windows 10 version 2004. I am wondering if there's a better way to address this issue that would be appropriate for the Xen Project.

I also found that the null driver detection in DIF_INSTALLDEVICE is insufficient (I last tested it on Windows 10 version 1803), causing DifInstall to be called rather than DifRemove during null driver installation. Specifically, DriverInfoAvailable gets set to TRUE rather than FALSE as expected for null drivers. I worked around this issue by additionally checking to see if DriverInfoData.DriverType was equal to SPDIT_CLASSDRIVER or SPDIT_COMPATDRIVER.

 

Troy


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.