2013-01-25 167 views
2

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

+2

我觉得这个会更适合于SO。 –

回答

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,其中包含软件包的名称和正确的参数。

4

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

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) 

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

+0

非常感谢您的信息。 – Aramanethota