Windows快捷安装应用方法(此处以Virtualbox为例)
1.执行已下载的virtualbox的安装exe文件,使用pywinauto模拟点击Windows安装的对应控件
1.1.启动exe文件
start *.exe
1.2.使用pywinauto(也适用于桌面端控件的自动化)
1.2.1.pywinauto安装
pip3 install pywinauto
1.2.2.实例
from pywinauto.application import Application
import os, time
VIRTUALBOX_PATH = os.path.join(os.path.dirname(__file__), "VirtualBox-6.1.32-149290-Win.exe")
WINDOWS_SETTING_TITLE = "Oracle VM VirtualBox 6.1.32 设置"
WINDOWS_INSTALL_TITLE = "Oracle VM VirtualBox 6.1.32 "
# 防止出现请求的操作需要提升的权限问题
os.environ.update({"__COMPAT_LAYER":"RUnAsInvoker"})
app = Application(backend="win32").start(VIRTUALBOX_PATH)
app.window(title=WINDOWS_SETTING_TITLE).wait('visible')
print(app)
time.sleep(3)
print(app.window(title=WINDOWS_SETTING_TITLE))
# 输出当前页面的所有属性(一般可以通过这个来获取按钮及文本)
print(app.window(title=WINDOWS_SETTING_TITLE).print_control_identifiers())
# 点击下一步
print(app.window(title=WINDOWS_SETTING_TITLE).wrapper_object())
app.window(title=WINDOWS_SETTING_TITLE).child_window(title="下一步(&N) >", class_name="Button").click()
time.sleep(3)
app.window(title=WINDOWS_SETTING_TITLE).child_window(title="下一步(&N) >", class_name="Button").click()
time.sleep(3)
app.window(title=WINDOWS_SETTING_TITLE).child_window(title="下一步(&N) >", class_name="Button").click()
time.sleep(3)
print(app.window(title=WINDOWS_INSTALL_TITLE).print_control_identifiers())
app.window(title=WINDOWS_INSTALL_TITLE).child_window(title="是(&Y)", class_name="Button").click()
print(app.window(title=WINDOWS_SETTING_TITLE).print_control_identifiers())
app.window(title=WINDOWS_SETTING_TITLE).child_window(title="安装(&I)", class_name="Button").click()
2.使用Chocolatey包管理工具,需要首先安装Chocolatey,需要在cmd管理员权限下执行命令才可执行,且安装时需要联网下载virtualbox,耗时较长, choco install virtualbox
2.1.安装choco包管理工具(需要管理员权限)
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
2.2.安装软件
choco install virtualbox -y
3.一般Windows会自带子系统,需要手动开启,需要到Windows商店手动下载对应ubuntu系统(不建议)
4.使用微软自带的msi命令执行安装程序(需要管理员权限)
4.1.解压exe出现msi文件
*.exe /extract:目录
可不加目录,默认会到用户/
4.2.无界面默认安装
msiexec /i VirtualBox-6.1.32-r149290.msi /qn /l*v msiexec_log.txt ALLUSERS=1
5. 使用win10、win11的winget直接安装程序:
5.1:直接安装(需联网,不需要管理员权限)
winget install VirtualBox --accept-package-agreements --accept-source-agreements
5.2:使用导入mainfest文件安装本地文件(需要管理员权限)
需预先执行winget settings --enable LocalManifestFiles打开权限
winget install -m
Windows快捷安装应用方法(此处以Virtualbox为例)的更多相关文章
- GitHub for Windows离线安装的方法
这几天一直在尝试安装GitHub for windows ,安装程序是从https://windows.github.com/ 下载到的OneClick 部署程序,版本号为2.11.0.5.可能是因为 ...
- windows下安装bpython方法 (新)
刚开始学习python的时候使用的ipython解释器,挺好用的,后来发现bpython功能更强大,linux系统中安装基本没啥问题,不过在windows下安装倒是不容易啊.使用google搜了一下, ...
- [GitHub]GitHub for Windows离线安装的方法
这几天一直在尝试安装GitHub for windows ,安装程序是从https://windows.github.com/ 下载到的OneClick 部署程序,版本号为2.11.0.5.可能是因为 ...
- Windows 10安装pip方法
pip是一款非常方便的python包管理工具,本文主要介绍在windows 10下安装pip方法. 1. 下载pip 地址:https://pypi.python.org/pypi/pip#downl ...
- windows下安装composer方法
composer是一个新崛起的PHP的依赖管理工具.官方安装方法见: 此处假定: (1)php安装目录为C:/php5.4 (2)php 安装目录已经加入PATH环境变量(这样就可以在命令行直接输入“ ...
- Windows下安装Scrapy方法及常见安装问题总结——Scrapy安装教程
这几天,很多朋友在群里问Scrapy安装的问题,其实问题方面都差不多,今天小编给大家整理一下Scrapy的安装教程,希望日后其他的小伙伴在安装的时候不再六神无主,具体的教程如下. Scrapy是Pyt ...
- windows 下安装ElasticSearch方法
1.https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html 在此页面下载安装JDK1 ...
- Windows下安装xampp的PHP扩展(redis为例)
(1)PHP的windowns扩展下载网址:https://windows.php.net/downloads/pecl/releases/ (2)Ctrl+f查询你要下载的扩展名 注意:扩展的版本要 ...
- Composer - windows下安装方法
在windows下安装的方法 方法一:使用安装程序 这是将 Composer 安装在你机器上的最简单的方法. 下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ...
随机推荐
- Git 不识别文件名字母大小写变化
问题 今天为一个项目撰写持续构建计划,撰写 Jenkinsfile 之后进行构建时报错: [2022-05-23 16:54:21] unable to prepare context: unable ...
- Sass预处理器
CSS预处理器 less,sass和stylus sass:较早,缩进风格 scss:完全兼容css3,使用大括号 编写css的编程语言,引入变量,函数,重复代码等功能,如果编译成css文件 Sass ...
- Java开发学习(一)----初识Spring及其核心概念
一. Spring系统架构 1.1 系统架构图 Spring Framework是Spring生态圈中最基础的项目,是其他项目的根基. Spring Framework的发展也经历了很多版本的变更,每 ...
- 给小白的 PostgreSQL 容器化部署教程(上)
作者:王志斌 编辑:钟华龙 本文来自社区小伙伴 王志斌 的投稿.从小白的角度,带你一步步实现将 RadonDB PostgreSQL 集群部署到 Kubernetes 上.文章分为上下两部分,第一部分 ...
- mybatis中返回一个List字段
目的:在一个查询接口里面,返回一个人的信息,以及这个人所携带的东西的信息,返回效果如下: { "msg": { "listMain": [ { "id ...
- MySQL - 并发事务出现的问题
1. 脏读 含义:在事务过程中,读到了其它事务为提交的数据. 解决方法:将数据库事务提升到读已提交或以上的隔离级别. 2. 不可重复读 含义:一次事务中,两次读操作中,读出来的数据内容不一致. 解决方 ...
- Spring Ioc源码分析系列--自动注入循环依赖的处理
Spring Ioc源码分析系列--自动注入循环依赖的处理 前言 前面的文章Spring Ioc源码分析系列--Bean实例化过程(二)在讲解到Spring创建bean出现循环依赖的时候并没有深入去分 ...
- 技术分享 | Appium环境安装与架构介绍
原文链接 Appium架构 Appium 设计哲学 不需要为了自动化而重新编译或修改被测应用 不应该让移动端自动化测试限定在某种语言或者某个具体的框架 不要为了移动端的自动化测试而重新造轮子 移动端自 ...
- 使用 DartPad 制作代码实践教程
DartPad 是一个开源的.在浏览器中体验和运行 Dart 编程语言的线上编辑器,目标是为了帮助开发者更好地了解 Dart 编程语言以及 Flutter 应用开发. DartPad 项目起始于 20 ...
- Canal实现MySQL协议
目录 代码流程 执行dump前 执行dump 在学习Canal的时候很好奇Canal是如何模拟成MySql Slave来接收数据的 MySql Slave会向主库发送dump协议来接收bin-log数 ...