自动化测试之自动卸载软件

发表于:2014-2-14 11:46

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:肖佳    来源:51Testing软件测试网采编

  在平常的测试工作中,经常要安装软件,卸载软件,  即繁琐又累。  安装和卸载完全可以做成自动化。 安装软件我们可以通过自动化框架,自动点击Next,来自动安装。  卸载软件我们可以通过msiexec命令行工具自动化卸载软件
  阅读目录
  用msiexec 命令来卸载软件
  注册表中查找ProductCode
  C#中自动卸载软件
  C#查找注册表中的ProductCode
  完整源代码下载
  用msiexec 命令来卸载软件
  平常我们手动卸载软件都是到控制面板中的”添加/删除”程序中去卸载软件, 或者通过程序自带的卸载软件来卸载。
  我们可以通过 MsiExec.exe /X{ProductCode} 命令来卸载程序。
  关于MsiExec.exe 请看 http://technet.microsoft.com/zh-cn/library/cc759262%28v=WS.10%29.aspx
  注册表中查找ProductCode
  ProductCode是Windows 安装程序包的全局唯一标识符 (GUID), 我们可以通过注册表来获取ProductCode
  实例:  用MsiExec.exe 自动卸载Xmarks.
  Xmarks 是一个用来同步收藏夹的工具, 我平常用来同步IE,firefox,chrome的收藏夹。
  先用注册表打开如下位置,
  32位操作系统: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
  注意: 如果是64位操作系统:
  64位的程序还在: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\
  32位的程序而是在: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\
  Uninstall下面的注册表子键很多, 你需要耐心地一个一个去查找”DisplayName”, 从而找到程序的ProductCode, 如下图。
  从注册表中我们找到UninstallString这个键值:  MsiExec.exe /X{C56BBAC8-0DD2-4CE4-86E0-F2BDEABDD0CF}, 那么ProductCode就是{C56BBAC8-0DD2-4CE4-86E0-F2BDEABDD0CF}
  我们可以通过 MsiExec.exe /X{ProductCode} 命令来卸载程序.
  那么卸载的命令应该为 MsiExec.exe /X{C56BBAC8-0DD2-4CE4-86E0-F2BDEABDD0CF}
  然后在CMD中直接调用这个命令, 会弹出一个对话框,点击”是” 后, 软件就能被卸载了。
  在自动化测试中,我们不想弹出这个对话框,而是希望直接卸载。同时也不希望系统重启 只要加个两个参数 /quiet /norestart 就可以了
  现在的卸载的命令是: MsiExec.exe /X{C56BBAC8-0DD2-4CE4-86E0-F2BDEABDD0CF} /quiet
21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号