skillfed

python-msilib

Read and write Microsoft Installer files

python-msilib v0.7.0 122.4K downloads/30d#11,951 on PyPI2
Permissive license PSF-2.0 Active released

What it is and what it does

python-msilib is a backport of Python's msilib module, which was removed from the standard library in Python 3.13. It allows developers to read, create, and manipulate Microsoft Installer (.msi) files programmatically. The package is specifically designed to support cx_Freeze's bdist_msi command, which generates Windows installers, ensuring that existing build workflows continue to work on Python 3.13 and later.

The library provides low-level access to the Windows Installer database format and APIs. It has no external runtime dependencies and is available as platform-specific wheels for Windows (32-bit, 64-bit, and ARM64 architectures) across Python 3.13, 3.14, and 3.15, including free-threading variants. Installation is straightforward on Windows; non-Windows systems cannot use this package.

Use it for:

  • Maintain cx_Freeze bdist_msi builds on Python 3.13+ after msilib removal from stdlib.
  • Programmatically generate or modify Windows .msi installer packages in build automation.
  • Read and inspect existing .msi file structures and metadata for analysis or repackaging.
  • Migrate legacy Python packaging workflows that relied on stdlib msilib to newer Python versions.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Reads and writes Microsoft Installer (.msi) files, providing access to the msilib module for Python 3.13 and later where it was removed from the standard library.

Yes, if you need to build or manipulate Windows .msi files on Python 3.13+. The package is actively maintained, has no external dependencies, and carries a permissive license. Install only on Windows; non-Windows systems have no use for it. Verify compatibility with your specific cx_Freeze version or msilib use case before relying on it in production.

Install

python-msilib on PyPI

pip

pip install python-msilib

uv

uv add python-msilib

poetry

poetry add python-msilib

Installing python-msilib

Before you install

Medium friction due to platform-specific wheels (Windows only, multiple architectures). Active maintenance with recent release (9 days old). No runtime dependencies simplifies installation.

License in practice

Licensed under PSF-2.0 (permissive), allowing use in most projects without significant restrictions.

Quickstart

pip install python-msilib

import msilib
# Create or manipulate .msi files using msilib API

Windows-only package; requires Python 3.13 or later.

Verify before relying

  • Whether this package is intended as a temporary compatibility shim or a long-term maintained alternative to the removed stdlib msilib.
  • Performance or feature parity compared to the Python 3.12 stdlib version it was borrowed from.
  • Compatibility with cx_Freeze's bdist_msi command beyond the stated intent.

Package facts

License PSF-2.0 (permissive)
Python support supports the current Python release (>=3.13)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 9 days since the last release
Last repo commit
First released
Downloads 122,419/month — #11,951 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: python_msilib-0.7.0-cp313-cp313-win32.whl; python_msilib-0.7.0-cp313-cp313-win_amd64.whl; python_msilib-0.7.0-cp313-cp313-win_arm64.whl; python_msilib-0.7.0-cp314-cp314t-win32.whl; python_msilib-0.7.0-cp314-cp314t-win_amd64.whl; python_msilib-0.7.0-cp314-cp314t-win_arm64.whl; python_msilib-0.7.0-cp314-cp314-win32.whl; python_msilib-0.7.0-cp314-cp314-win_amd64.whl; python_msilib-0.7.0-cp314-cp314-win_arm64.whl; python_msilib-0.7.0-cp315-cp315t-win32.whl; python_msilib-0.7.0-cp315-cp315t-win_amd64.whl; python_msilib-0.7.0-cp315-cp315t-win_arm64.whl; python_msilib-0.7.0-cp315-cp315-win32.whl; python_msilib-0.7.0-cp315-cp315-win_amd64.whl; python_msilib-0.7.0-cp315-cp315-win_arm64.whl

Keywords: msilib

Development Status :: 5 - Production/StableIntended Audience :: DevelopersNatural Language :: EnglishOperating System :: OS IndependentProgramming Language :: CProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.15Programming Language :: Python :: Free Threading :: 2 - BetaTopic :: Software Development :: Build ToolsTopic :: Software Development :: Libraries :: Python ModulesTopic :: System :: Software DistributionTopic :: Utilities

Tags

msi file manipulationmicrosoft installer librarymsilib python 3.13create msi packagesread msi fileswindows installer apibdist_msi support
windows-onlymsi-packagingstdlib-backport

More Python Modules packages