首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pywinauto打开的windows安装程序运行msi,但不运行msi --我正在跳

使用pywinauto打开的windows安装程序运行msi,但不运行msi --我正在跳
EN

Stack Overflow用户
提问于 2022-03-02 12:33:20
回答 1查看 89关注 0票数 0

为什么我选择pywinauto:

  • 测试安装程序
  • 以安装和卸载速度更快的可重复任务
  • 检查安装后(而不是卸载后)

是否运行了服务和4个processus

这是与.exe的工作,但我们改变安装程序的WIX,现在它是一个msi。

所以我的剧本看起来是:

代码语言:javascript
复制
from pywinauto.application import Application
from pywinauto import Desktop


path = 'C:\\Program Files (x86)\\Test\\uninstall-dev.msi'
app = Application().start(r'msiexec /i ' + path)


uninstall = Desktop(backend='win32').window(title='Test uninstall')
uninstall['Please wait while it's being uninstalled.'].wait('ready', timeout=120)
uninstall.Uninstall.click()

dlg = Desktop(backend='win32').window(title='Setup Uninstall')
dlg.OK.click()


uninstall = Desktop(backend='win32').window(title='Setup Uninstall ')

uninstall.ShowDetails.click()
uninstall.Next.wait('ready', timeout=120)
uninstall.Next.click()
uninstall.Finish.click()

我也试过:

代码语言:javascript
复制
 app = Application().start(r'msiexec.exe /i ' + path)

代码语言:javascript
复制
 app = Application().start(r'msiexec.exe /i ...msi' + path)

当我运行它时,我得到:

如果我在cmd行运行:

代码语言:javascript
复制
msiexec /i C:\\Program Files (x86)\\Test\\uninstall-dev.msi

它正在按预期工作:我创建的安装程序正在运行。

这不是我的安装程序。我为什么会有这种行为?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-03-02 14:40:49

要修复它,请使用:

代码语言:javascript
复制
path = '"C:\\Program Files (x86)\\Test\\uninstall-dev.msi"'
app = Application().start('msiexec.exe /i ' + path)

不要使用简单引号,在路径之间使用两个

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71322769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档