Until now, the Advanced Installer program was used for building the myofinder.msi Windows Installer file. Advanced Installer was relevant as a first choice, because it had an intuitive graphical interface. However, it showed strong limitations:
The free version only allowed for limited installer customization
In particular, it was not possible to run custom scripts during installation
This meant that the myofinder Python module had to be installed at runtime, which was causing major issues
This PR completely replaces the previous code for building the installer with Advanced Installer, and switches to the WiX Toolset instead. This backend is fully open-source, free, and allows for complete customization of the installer. The main features enabled by WiX are:
Allow to install the myofinder Python module as part of the Windows installation process
Cancel the complete installation in case the installation of the Python module fails
Completely remove all the MyoFInDer-related files while uninstalling, even the ones generated after installation.
In the future, allow for updates and patches
While transitioning to WiX, the documentation was updated accordingly. The .cpp source files were also improved to use more modern C++ and less C. Finally, the automated GitHub Actions were refactored and improved to adapt to the new WiX framework.
Until now, the Advanced Installer program was used for building the
myofinder.msi
Windows Installer file. Advanced Installer was relevant as a first choice, because it had an intuitive graphical interface. However, it showed strong limitations:myofinder
Python module had to be installed at runtime, which was causing major issuesThis PR completely replaces the previous code for building the installer with Advanced Installer, and switches to the WiX Toolset instead. This backend is fully open-source, free, and allows for complete customization of the installer. The main features enabled by WiX are:
myofinder
Python module as part of the Windows installation processWhile transitioning to WiX, the documentation was updated accordingly. The
.cpp
source files were also improved to use more modern C++ and less C. Finally, the automated GitHub Actions were refactored and improved to adapt to the new WiX framework.