3

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

4

2 回答 2

9

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

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

于 2013-01-25T13:33:06.167 回答
2

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

检测无人值守安装的 MSI 参数

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

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

了解更多信息。

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

于 2013-01-25T07:11:12.620 回答