DriverKit - updating an existing DEXT with a new version

Is there a correct method for replacing an older version of a DriverKit extension?

Specifically, will the Installation application need to be able to detect if the older DEXT is installed and activated and specifically be able to deactivate it before trying to install a new version?


This is largely covered by the "upgrading an existing system extension" section in this document: https://developer.apple.com/documentation/systemextensions/installing_system_extensions_and_drivers

The application containing the dext shouldn't have to do any extra work to determine if there is an existing dext installed. Just run the activation request again, and you'll receive a request(_:actionForReplacingExtension:withExtension:) callback. From there, you can compare the existing installed dext's versions against the ones you have submitted and programmatically make a decision on whether or not you want to install the new version. There is no need to deactivate the previous extension. That should be handled largely automatically. However, some devices will need to be disconnected and re-connected to start using the upgraded dext.
DriverKit - updating an existing DEXT with a new version
 
 
Q