【问题标题】:Python: How to show license text in msi installer generated from setup.pyPython:如何在 setup.py 生成的 msi 安装程序中显示许可证文本
【发布时间】:2010-12-07 08:17:09
【问题描述】:

在 setup.py 中,对 setup 函数的调用可能如下所示:

setup(name="my_package",
      version="1.0",
      packages = ['pack1', 'pack2'],
      license = "We're all mad here"
)

我使用非常好的功能来生成一个 msi 安装程序:

python setup.py bdist_msi

有没有办法让许可证文本“我们都疯了”在 msi 安装程序向导中显示?

谢谢。

【问题讨论】:

  • bdist_msi 的作者在 SO,我相信 distutils2 的维护者也是。这里肯定会有人知道他们的 msi-fu 足以指导 Python 开发人员。如果您真的希望发生这种情况,请点击链接,改进问题(添加您尝试过的一些结果),您就有机会了。

标签: python installation windows-installer distutils


【解决方案1】:

乐观、详细的回答:你extend distutils,根据bdist_msi新建一个命令。您可能必须在(相当于)bdist_msi.add_ui 中创建一个新的PyDialog。我认为您必须将对话框添加到UI Sequences。最简单的对话框似乎是Prepare Dialog。了解msilibDialog 类和“另请参阅”下的参考资料肯定会有所帮助。

现实的答案:你不这样做,而不是在没有投入大量精力的情况下。您使用另一种安装程序机制,编辑 MSI,找出一些涉及 .rtf 文件的技巧。但是扩展 distutils 很难,扩展 bdist_msi 更难。

【讨论】:

  • Python 的源代码库中有一个相当全面的sample,您可以将其用作开始。另外,cx_Freeze 自定义了 bdist_msi,所以你也可以看看what they're doing
猜你喜欢
  • 1970-01-01
  • 2019-03-30
  • 1970-01-01
  • 2013-08-28
  • 1970-01-01
  • 2012-02-28
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多