1.执行已下载的virtualbox的安装exe文件,使用pywinauto模拟点击Windows安装的对应控件

1.1.启动exe文件

  1. start *.exe

1.2.使用pywinauto(也适用于桌面端控件的自动化)

1.2.1.pywinauto安装

  1. pip3 install pywinauto

1.2.2.实例

  1. from pywinauto.application import Application
  2. import os, time
  3. VIRTUALBOX_PATH = os.path.join(os.path.dirname(__file__), "VirtualBox-6.1.32-149290-Win.exe")
  4. WINDOWS_SETTING_TITLE = "Oracle VM VirtualBox 6.1.32 设置"
  5. WINDOWS_INSTALL_TITLE = "Oracle VM VirtualBox 6.1.32 "
  6. # 防止出现请求的操作需要提升的权限问题
  7. os.environ.update({"__COMPAT_LAYER":"RUnAsInvoker"})
  8. app = Application(backend="win32").start(VIRTUALBOX_PATH)
  9. app.window(title=WINDOWS_SETTING_TITLE).wait('visible')
  10. print(app)
  11. time.sleep(3)
  12. print(app.window(title=WINDOWS_SETTING_TITLE))
  13. # 输出当前页面的所有属性(一般可以通过这个来获取按钮及文本)
  14. print(app.window(title=WINDOWS_SETTING_TITLE).print_control_identifiers())
  15. # 点击下一步
  16. print(app.window(title=WINDOWS_SETTING_TITLE).wrapper_object())
  17. app.window(title=WINDOWS_SETTING_TITLE).child_window(title="下一步(&N) >", class_name="Button").click()
  18. time.sleep(3)
  19. app.window(title=WINDOWS_SETTING_TITLE).child_window(title="下一步(&N) >", class_name="Button").click()
  20. time.sleep(3)
  21. app.window(title=WINDOWS_SETTING_TITLE).child_window(title="下一步(&N) >", class_name="Button").click()
  22. time.sleep(3)
  23. print(app.window(title=WINDOWS_INSTALL_TITLE).print_control_identifiers())
  24. app.window(title=WINDOWS_INSTALL_TITLE).child_window(title="是(&Y)", class_name="Button").click()
  25. print(app.window(title=WINDOWS_SETTING_TITLE).print_control_identifiers())
  26. 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包管理工具(需要管理员权限)

  1. @powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin

2.2.安装软件

  1. choco install virtualbox -y

3.一般Windows会自带子系统,需要手动开启,需要到Windows商店手动下载对应ubuntu系统(不建议)

4.使用微软自带的msi命令执行安装程序(需要管理员权限)

4.1.解压exe出现msi文件

  1. *.exe /extract:目录
  2. 可不加目录,默认会到用户/

4.2.无界面默认安装

  1. msiexec /i VirtualBox-6.1.32-r149290.msi /qn /l*v msiexec_log.txt ALLUSERS=1

5. 使用win10、win11的winget直接安装程序:

5.1:直接安装(需联网,不需要管理员权限)

  1. winget install VirtualBox --accept-package-agreements --accept-source-agreements

5.2:使用导入mainfest文件安装本地文件(需要管理员权限)

  1. 需预先执行winget settings --enable LocalManifestFiles打开权限
  2. winget install -m

Windows快捷安装应用方法(此处以Virtualbox为例)的更多相关文章

  1. GitHub for Windows离线安装的方法

    这几天一直在尝试安装GitHub for windows ,安装程序是从https://windows.github.com/ 下载到的OneClick 部署程序,版本号为2.11.0.5.可能是因为 ...

  2. windows下安装bpython方法 (新)

    刚开始学习python的时候使用的ipython解释器,挺好用的,后来发现bpython功能更强大,linux系统中安装基本没啥问题,不过在windows下安装倒是不容易啊.使用google搜了一下, ...

  3. [GitHub]GitHub for Windows离线安装的方法

    这几天一直在尝试安装GitHub for windows ,安装程序是从https://windows.github.com/ 下载到的OneClick 部署程序,版本号为2.11.0.5.可能是因为 ...

  4. Windows 10安装pip方法

    pip是一款非常方便的python包管理工具,本文主要介绍在windows 10下安装pip方法. 1. 下载pip 地址:https://pypi.python.org/pypi/pip#downl ...

  5. windows下安装composer方法

    composer是一个新崛起的PHP的依赖管理工具.官方安装方法见: 此处假定: (1)php安装目录为C:/php5.4 (2)php 安装目录已经加入PATH环境变量(这样就可以在命令行直接输入“ ...

  6. Windows下安装Scrapy方法及常见安装问题总结——Scrapy安装教程

    这几天,很多朋友在群里问Scrapy安装的问题,其实问题方面都差不多,今天小编给大家整理一下Scrapy的安装教程,希望日后其他的小伙伴在安装的时候不再六神无主,具体的教程如下. Scrapy是Pyt ...

  7. windows 下安装ElasticSearch方法

    1.https://www.oracle.com/technetwork/java/javase/downloads/jdk12-downloads-5295953.html 在此页面下载安装JDK1 ...

  8. Windows下安装xampp的PHP扩展(redis为例)

    (1)PHP的windowns扩展下载网址:https://windows.php.net/downloads/pecl/releases/ (2)Ctrl+f查询你要下载的扩展名 注意:扩展的版本要 ...

  9. Composer - windows下安装方法

    在windows下安装的方法 方法一:使用安装程序 这是将 Composer 安装在你机器上的最简单的方法. 下载并且运行 Composer-Setup.exe,它将安装最新版本的 Composer ...

随机推荐

  1. Python图像处理:如何获取图像属性、兴趣ROI区域及通道处理

    摘要:本篇文章主要讲解Python调用OpenCV获取图像属性,截取感兴趣ROI区域,处理图像通道. 本文分享自华为云社区<[Python图像处理] 三.获取图像属性.兴趣ROI区域及通道处理 ...

  2. 版本控制之git

    1.Git的介绍 Git 是一个开源的分布式版本控制软件,用以有效.高速的处理从很小到非常大的项目版本管理. Git 最初是由Linus Torvalds设计开发的,用于管理Linux内核开发.Git ...

  3. 万字长文详解HBase读写性能优化

    一.HBase 读优化 1. HBase客户端优化 和大多数系统一样,客户端作为业务读写的入口,姿势使用不正确通常会导致本业务读延迟较高实际上存在一些使用姿势的推荐用法,这里一般需要关注四个问题: 1 ...

  4. 【算法】计数排序(Counting Sort)(八)

    计数排序(Counting Sort) 计数排序不是基于比较的排序算法,其核心在于将输入的数据值转化为键存储在额外开辟的数组空间中. 作为一种线性时间复杂度的排序,计数排序要求输入的数据必须是有确定范 ...

  5. hive从入门到放弃(六)——常用文件存储格式

    hive 存储格式有很多,但常用的一般是 TextFile.ORC.Parquet 格式,在我们单位最多的也是这三种 hive 默认的文件存储格式是 TextFile. 除 TextFile 外的其他 ...

  6. 好客租房21-react组件的两种创建方式(函数组件)

    1使用函数创建组件 函数组件:使用js的函数或者箭头函数创建的组件 约定1:函数组件名称必须以 开头 约定2:函数组件必须有返回值 表示该组件的结构 如果返回值为null 表示不渲染任何内容 2.1使 ...

  7. SeataAT模式原理

    Seata架构 Seata将分布式事务理解为一个全局事务,它由若干个分支事务组成,一个分支事务就是一个满足ACID的本地事务. Seata架构中有三个角色: TC (Transaction Coord ...

  8. 从零搭建react+ts组件库(封装antd)

    为什么会有这样一篇文章?因为网上的教程/示例只说了怎么做,没有系统详细的介绍引入这些依赖.为什么要这样配置,甚至有些文章还是错的!迫于技术洁癖,我希望更多的开发小伙伴能够真正的理解一个项目搭建各个方面 ...

  9. (十二).NET6 + React :升级!升级!还是***升级!!!+ IdentityServer4实战

    一.前言 此篇内容较多,我是一步一个脚印(坑),以至于写了好久,主要是这几部分:后台升级 .NET6  VS2022.前台升级Ant Design Pro V5 .前后台联调 IdentityServ ...

  10. MySQL之事务隔离级别和MVCC

    事务隔离级别 事务并发可能出现的问题 脏写 事务之间对增删改互相影响 脏读 事务之间读取其他未提交事务的数据 不可重复读 一个事务在多次执行一个select读到的数据前后不相同.因为被别的未提交事务修 ...