I have an MSI/WIX installer project that consists a merge module, which installs drivers for some custom USB hardware.
New versions of the installer are produced regularly, but the merge module has not changed for some time. However, when an installation upgrade is performed with our installer, the installer always re-installs the driver files, and this prompts Windows plug and play to kick in, re-installing device drivers for the USB device.
The intention is for the installer to skip the driver installation if the merge module has not changed. The version number of the merge module is not changing, so this is what I would expect to happen.
Is it the case that the merge module's version number gets subsumed by the main installer? In which case, is it possible to make the installer leave the driver files alone if they've not changed?
As it stands, our build system builds everything from scratch for a release. Perhaps the solution is to include the merge module as a binary dependency, and only rebuild it (and the driver artefacts) when something has actually changed?