[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 0/2] Remove CoInstallers
Windows 11 22H2 WHQL testing has highlighted the need to remove CoInstallers. The current CoInstaller handle several edge cases that will need replacement implementations. This patch series for most drivers offers a potential solution to the removal of CoInstallers and the required changes to avoid upgrade issues. CoInstallers have several uses currently: - Adds an upgrade block function with the "AllowUpgrade" value blocking driver upgrades when set. - Correctly cleans up user mode services on uninstall. The AllowUpgrade function has not been replaced - I have not seen this used in the current implementations of the drivers. The interface compatability checks can be replaced with the matching if RevisionIDs in the INF files, so that child devices will only install on parent devices that expose a matching HardwareID or CompatibleID. This does leave the case where the new parent driver could drop support for an interface version that is currently in use. This will mandate a further driver upgrade, and should remove the Unplug keys and mandate a reboot where the emulated devices are present, to ensure continued operation. After this reboot using emulated devices, updates to the child devices should be detected and installed, requiring another reboot to revert to PV devices. I dont have a good replacement for cleaning up user mode services (xenagent) on device uninstall. This *should* be handled correctly by the PnP manager, but failing to stop either service should not be detremental to the operation of the VM. Selecting the "Delete Drivers" option during uninstall will stop and disable these services, not selecting this option will leave these services running. Owen Smith (2): Remove CoInstaller from INF Delete CoInstaller code src/coinst/coinst.c | 722 ------------------ src/coinst/xeniface_coinst.def | 38 - src/coinst/xeniface_coinst.rc | 58 -- src/xeniface.inf | 19 +- vs2015/package/package.vcxproj | 3 - vs2015/xeniface.sln | 30 - .../xeniface_coinst/xeniface_coinst.vcxproj | 62 -- .../xeniface_coinst.vcxproj.user | 8 - vs2017/package/package.vcxproj | 3 - vs2017/xeniface.sln | 30 - .../xeniface_coinst/xeniface_coinst.vcxproj | 62 -- .../xeniface_coinst.vcxproj.user | 8 - vs2019/package/package.vcxproj | 3 - vs2019/xeniface.sln | 30 - .../xeniface_coinst/xeniface_coinst.vcxproj | 68 -- .../xeniface_coinst.vcxproj.user | 8 - vs2022/package/package.vcxproj | 3 - vs2022/xeniface.sln | 30 - .../xeniface_coinst/xeniface_coinst.vcxproj | 68 -- .../xeniface_coinst.vcxproj.user | 8 - 20 files changed, 4 insertions(+), 1257 deletions(-) delete mode 100644 src/coinst/coinst.c delete mode 100644 src/coinst/xeniface_coinst.def delete mode 100644 src/coinst/xeniface_coinst.rc delete mode 100644 vs2015/xeniface_coinst/xeniface_coinst.vcxproj delete mode 100644 vs2015/xeniface_coinst/xeniface_coinst.vcxproj.user delete mode 100644 vs2017/xeniface_coinst/xeniface_coinst.vcxproj delete mode 100644 vs2017/xeniface_coinst/xeniface_coinst.vcxproj.user delete mode 100644 vs2019/xeniface_coinst/xeniface_coinst.vcxproj delete mode 100644 vs2019/xeniface_coinst/xeniface_coinst.vcxproj.user delete mode 100644 vs2022/xeniface_coinst/xeniface_coinst.vcxproj delete mode 100644 vs2022/xeniface_coinst/xeniface_coinst.vcxproj.user -- 2.41.0.windows.3
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |