【问题标题】:How to install a msi using python script?如何使用 python 脚本安装 msi?
【发布时间】:2013-01-09 07:23:14
【问题描述】:

有没有安装 msi 的 python 脚本?我需要安装 msi 并运行它而不显示任何对话模式。 我的文件夹 c:\user\documents 上有 msi,并且我有一个使用 python 脚本开发的 wxpython GUI。我需要静默安装 msi 并从 GUI 运行 exe。

【问题讨论】:

  • 我认为这个更适合 SO。

标签: python windows installation


【解决方案1】:

简单的使用。没有提供转换,代码是非阻塞的:

import os
os.system('msiexec /i %s /qn' % msi_location)

使用转换,代码是非阻塞的:

import os
os.system('msiexec /i %s TRANSFORMS=%s /qn' % (msi_location, transforms_location)

使用转换,代码被阻塞 - 所以你知道它什么时候完成:

import subprocess
subprocess.call('msiexec /i %s TRANSFORMS=%s /qn' % (msi_location, transforms_location), shell=True)

有关 TRANSFORMS 的更多信息:https://msdn.microsoft.com/en-us/library/aa367447%28v=vs.85%29.aspx

【讨论】:

    【解决方案2】:

    这不是一个真正的 python 问题,它取决于您的特定 MSI 包是否允许无人值守安装。请参阅这篇 SO 文章

    detect msi parameters for unattended install

    如何了解 MSI 包的参数。然后,使用 Windows 命令外壳手动尝试无人值守安装,调用 msiexec。看这里

    http://technet.microsoft.com/en-us/library/cc759262%28v=ws.10%29.aspx

    了解更多信息。

    最后,在python中你需要做的就是使用os.system调用msiexec,并带有包名和正确的参数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-08-22
      • 2018-09-04
      • 1970-01-01
      • 2014-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多