Search code examples
pythonwindowsinstallationwindows-installerpypi

Run a required .msi installer from setup.py so it runs with pip install


I have coded this small python library that I distribute on PyPI (vgamepad), and that needs ViGEmBus installed to work.

ViGEmBus is a Windows driver, it is installed by double-clicking a .msi file, granting admin privileges, and waiting for the end of installation. This .msi file is present in my library.

My question is: is there a way to modify setup.py so that, when running

pip install vgamepad

the .msi file runs as well (with Windows asking asking the user for permission to install the driver) and the user doesn't have to install it manually for the library to work? I suppose some big frameworks do this kind of things so hopefully it is possible?

Thanks!


Solution

  • A better question to ask might be this => How to install a msi using python script?

    FYI: that question already has a valid answer