如何在cx_freeze和distutils中指定msi的默认安装路径?

Ces*_*sar 6 python distutils cx-freeze

我正在尝试从我们编码的Python应用程序创建安装程序.我写了一个简单的setup.py文件,它生成.msi文件没问题,但我无法弄清楚指定默认安装路径的方法.我们不希望它安装到默认的"C:\ Program Files"目录.救命?

aqu*_*tae 3

在创建安装程序方面,Distutils 的功能相当有限。我建议您改用NSIS。它非常简单,并且允许您比 distutils 进行更多的自定义。

另一种方法是手动将 --initial-target-dir 添加到 setup.py 中的参数列表中(在调用函数之前setup):

if 'bdist_msi' in sys.argv:
    sys.argv += ['--initial-target-dir', 'c:\default\path']
Run Code Online (Sandbox Code Playgroud)