Why does NDIS driver require reboot on installation?

I’ve got an installer that installs a collection of drivers. When a new NDIS driver is included the installer requires a restart. It’s an annoyance I’ve “dealt with” for some time, but never truly understood. Could anyone suggest some pointed areas for troubleshooting (or eliminating) the need to restart?

what does setupapi.dev.log say about the install and the reboot? there are typically clues there as to which driver failed to unload or vetoed the operation.

I can’t be certain, but this looks like a potential indication:
“Device pending start: Device has problem: 0x38 (CM_PROB_NEED_CLASS_CONFIG), problem status: 0x00000000.”

I found this information regarding that particular problem:
https://docs.microsoft.com/en-us/windows-hardware/drivers/install/cm-prob-need-class-config

It’s possible this issue could be resolved with some .inf modifications?

Most likely NOT the reason for the reboot. As you see in the docs, it is a transient error state which essentially means pnp has finished the declarative part of the install, started the device and is now triggering a service to perform runtime setup of the device. Look for case insensitive “reboot” in the log.