如何使用python脚本安装msi?

时间:2013-01-25 06:51:51

标签: python windows installer

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

2 个答案:

答案 0 :(得分:7)

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

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

答案 1 :(得分:2)

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

detect msi parameters for unattended install

如何了解MSI包的参数。然后,使用windows命令shell手动尝试无人参与安装,调用msiexec。见这里

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

了解更多信息。

最后,你需要在python中做的就是使用os.system来调用包含名称和正确参数的msiexec