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 ...
随机推荐
- 消息队列,IPC机制(进程间通信),生产者消费者模型,线程及相关
消息队列 创建 ''' Queue是模块multiprocessing中的一个类我们也可以这样导入from multiprocessing import Queue,创 建时queue = Queue ...
- Spring 源码(13)Spring Bean 的创建过程(4)
Spring Bean的创建过程非常的复杂,上一篇重点介绍了Spring在创建Bean的过程中,使用InstantiationBeanPostProcessor进行提前创建Bean,我们可以通过CGL ...
- nodejs + typescript + koa + eslint + typescript eslint + prettier + webstorm
ESLint 安装 yarn add -D eslint 生成配置文件 yarn eslint --init cli 选项 How would you like to use ESLint? To c ...
- mapstruct 的 mapstruct-processor 自动生成的 Impl 文件中未设置属性值(时好时坏)
配置依赖和注解处理器 ... <properties> <org.mapstruct.version>1.4.2.Final</org.mapstruct.version ...
- TypeError: this.getOptions is not a function
我在vue ui界面中安装版本依赖包后报这个错误 less-loader/sass-loader安装的版本过高 解决办法 删除原有的版本依赖包,安装更低版本的依赖包. 如 @6.0.1为选择安装的版本 ...
- 「NOI2019」序列
NKOJ卡常卡不过QAQ description 给两个A,B序列,让你分别在A,B中各选k个数,其中至少有L对下标相等. Solution 把问题转化为至多选n-K对下标不同的对. 配对问题就用费用 ...
- liunx 服务器下面安装mysql8.0
闲来无事,准备自己搭建一个服务器高点事情,不可避免的就是需要使用到mysql数据库了.在Linux系统安装MySQL8.0,网上已经有很多的教程了,到自己安装的时候却发现各种各样的问题,现在把安装过程 ...
- mysql刷题笔记
近期,为提升自己的工程能力,在休息时常通过刷题来回顾一下基础性知识. 于是选择了牛客网上的mysql知识题库练手,过程中,主要遇到了几个比较有意思的题,记录下来,方便回顾. 题1:SQL29 计算用户 ...
- JAVA - ArrayList是否会越界?
JAVA - ArrayList是否会越界? ArrayList并发add()可能出现数组下标越界异常. ArrayList是实现了基于动态数组的数据结构. LinkedList是基于链表的数据结构 ...
- python基础学习10
python基础学习 内容概要 文件内光标的移动 文件数据修改 函数简介 函数语法结构 内容详情 文件内光标的移动 with open(r'路径','r',encoding='utf8') as f: ...