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



我正试图从我们编码的Python应用程序中创建一个安装程序。我写了一个简单的setup.py文件,它生成了一个.msi文件,没有问题,但我不知道指定默认安装路径的方法。我们不希望它安装到默认的"C:\Program Files"目录。帮助

在创建安装程序时,Distutils的功能相当有限。我建议您使用NSIS。它非常简单,可以让你定制比distutils多得多的东西。

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

if 'bdist_msi' in sys.argv:
    sys.argv += ['--initial-target-dir', 'c:defaultpath']

在当前版本中,将以下内容添加到设置脚本中可以提供相同的功能:

setup(
    ...
    options={'bdist_msi': {'initial_target_dir': 'C:\alternate\start\path'}}
    ...
)

请注意,它需要反斜杠,而不是正斜杠。

最新更新