私はよくcx_freezeを使用して、Pythonソースをすべての依存関係とともにパッケージ化し、その後、 distutilsbdist_msi 拡張機能を使用してmsiインストールパッケージを作成します。
唯一の問題は、以前のバージョンをアンインストールせずに、新しく作成したmsiWindowsインストーラーを再インストールしようとしたときに発生します。アンインストーラーは、以前にアンインストールされたすべてのバージョンのソフトウェアの記録を保持し、レジストリとアンインストーラーの情報をブロットします。
以前にインストールしたバージョンのソフトウェアを検出して、新しいバージョンをインストールせずに自動的にアンインストールすることはできますか?
私はNSISを知っており、インストーラーを作成するためのPythonバインディングを使用すると、上記の問題を簡単に解決できます。残念ながら、現時点では、Pythonが提供するもの(distutils)以外のものは探していません。