转自:http://freemanluo.blog.51cto.com/636588/487037

什么是应用程序虚拟化?

应用虚拟化使得在不修改本地操作系统或文件系统的基础上进行软件的部署。它允许软件可以在独立的环境中交付与更新,以确保操作系统和所有应用程序的完整性。因此,应用程序冲突及需要的回归测试将会显着减少。同一个的应用程序可以封装并并部署到多个版本的操作系统。这样应用程序将会更容易地供给、部署、升级和回滚。

VMware ThinApp对于我来说更多是作为单文件和便携软件制作工具来使用的,因为VMware ThinApp实现应用程序虚拟化的原理就是将程序所有相关的文件如 exe、dll、ocx、注册表项等封装到一个单一的EXE文件中,程序被限定在单EXE环境下运行,需要的资源也都从这个单exe封装包中调用,从而实现与操作系统的隔离。因此形式上就是单文件软件了。

通过VMware ThinApp你可以实现:

* 通过应用程序虚拟化消除安装冲突
        应用程序虚拟化技术可以将应用程序封装起来以与OS或其他程序独立开;这样可以消除昂贵的回归测试和来自恶意程序的冲突。只需将程序插入到MSI或EXE文件中并部署一个包括注册表键值、DLL、第三方库及Framework的虚拟系统环境,而无需在底层操作系统中安装的任何的代理或应用。

* 一次封装、任意部署(网络、USB、物理或虚拟的台式机)
在用户模式下部署虚拟化应用程序,而无需管理员权限。由于整个应用程序及其虚拟OS是作为单EXE文件部署的,所以无需安装设备驱动也不会修改注册表。从一个共享网络驱动器流式传输大型应用程序而无需服务器或客户端软件的安装。即使程序正在是也能升级或回滚。新版本的应用程序将在用户下次启动时得到运行。

* 照顾到您的移动办公员工
让您的用户可以在任意一台电脑上运行部署的应用程序,即使是报摊和酒店的电脑。他们不需要安装软件或设备驱动,也不需要管理员权限。而且应用程序运行可直接从便携式存储设备上启动,包括闪存驱动器。

* 提高您的软件分发过程
分发您的软件而保护本地操作系统不被更改,一些更改可能引起不稳定或破坏安全。即使受限用户账户也可以无需安装而安全地运行虚拟化应用程序。

VMware ThinApp安装和测试过程如下:

1、从[url]http://www.vmware.com/download/[/url] 下载ThinApp,并注册申请60天的试用License。
2、在VMware Workstation中新建一个win xp的虚拟机,安装下载的ThinApp。
3、运行ThinApp Setup Capture,点Next建立系统快照。
4、安装需要打包的软件,再点击Next,建立第二次快照,系统自动记录2次快照的区别。
5、勾选运行软件的主文件,点击Next。
6、选择运行时缓存文件的存储位置(sandbox location),保持缺省设置,点击Next。
7、选择文件隔离模式(isolation mode),保持缺省设置,点击Next。
8、选择文件输出目录,是否生成msi文件以及是否压缩。
9、点击‘build now’生成exe文件,在输出目录中的bin文件夹中找到生成的exe文件,用户将该文件复制到本地就可以运行打包的程序,无需安装和管理员权限,十分方便部署和升级。

使用教程

1. 首先运行程序Setup Capture.exe ,ThinApp会以向导模式完成程序打包,点击Next继续。

2. 这里简单介绍了注意事项,最主要的就是在一个干净的系统上扫描形成系统快照,好处就是能得到程序正常运行所需要的最多信息。

如需要自定义扫描配置,点击Advanced settings… ,这里可以设置需要扫描的驱动器和注册表分支,设定好之后确定返回。

3. 点击Next后ThinApp会以扫描当前文件系统和注册表并形成一个快照,ThinApp正在保存快照:

待系统快照完成之后,VMware ThinApp会给出提示,即开始安装并配置好你需要封装的程序,建议将程序安装到默认位置。一切完成之后点击Next继续:

4. VMware ThinApp进行程序安装后的系统快照扫描:

扫描完成后将会提示选择程序入口点,即从哪个程序开始启动,一般就是主程序文件,通常ThinApp会自动选择好,点击Next继续。

5. 进入Sandbox Location设置,Sandbox是Thinapp的沙盘或缓存目录,及程序所作更改的保存路径,以后再运行封装的程序时会从Sandbox中读取配置信息,如果删除Sandbox的话,程序就会复原为默认状态(即快照时的状态);

VMware ThinApp提供了三种模式:
    *  User's profile (%AppData%\Thinstall目录就是系统的Application Data目录;
    *  USB flash / portable media 就是将Sandbox保存到exe文件所在路径,即相当于制作便携软件了、Sandbox路径就跟封装出的程序在同一个目录中。

6. 点击Next进入System Isolation模式设置;所谓的Isolation modes就是设置虚拟程序所做的更改如何影响到实际的计算机环境。

Merged isolation mode(合并模式)允许虚拟程序在实际的文件系统中保存文件(如c:\user路径,但系统目录除外)、或者说封装后的程序(Thinstalled App)对文件系统的更改是合并进现有的文件系统的;

而选择WriteCopy isolation mode模式后,虚拟程序所作的更改只会保存到桌面和文档目录,而保存到其他目录(如c:\user)是不可见的(被重定向并保存到到了Sandbox中),或者说封装后的程序对文件系统的更改将不会在实际的文件系统中可见,转而保存到Sandbox中,如处理后的图片等。这里Merged isolation mode用的比较多。

7. 点击Next继续,这里可以设置Thinapp工程文件的保存路径,还可以设置封装时的压缩模式(Compression);

No compression即为不压缩, Fast compression为快速压缩模式;建议选择Fast compression ,能提供57%的压缩率,而程序启动时间跟No compression相差不多,就是第一次封装的时候时间较长。

点击Next后VMware ThinApp开始保存工程文件:

8. 保存完之后,你有两个选择: Build Now直接以默认参数生成虚拟化程序,或Browse Project返回到工程文件目录自定义更多高级选项。

这是直接选择Build Now后的情况,最后会提示Build Complete,封装后的程序在工程目录的bin文件夹中:

9. 选择Browse Project浏览到工程文件目录。在这里可以删除一些不必要的文件以减少封装后的文件大小,如删除帮助文件、卸载程序等;而这里的Package.ini就是封装参数配置文件,由build.bat调用,我在这里说明一下常用的参数。修改参数后重新运行build.bat即可生成虚拟化程序。

压缩和分离模式,这在前面的向导已经设置过了,如果不满意地方,也可以直接在Package.ini中更改:

可选项有:
NoneCompressionType=None
CompressionType=Fast
DirectoryIsolationMode=Merged
DirectoryIsolationMode=WriteCopy

SandboxPath设置:SandboxPath即Sandbox路径,SandboxPath即可以用相对路径,也可用绝对路径。

SandboxPath=. (EXE文件相同路径下)
SandboxPath=%AppData%\Thinstall (系统的AppData\Thinstall目录)
SandboxPath=LocalSandbox\Subdir1(EXE文件目录下的子目录)
SandboxPath=Z:\Sandboxes

OutDir即打包程序的输出目录,不做过多介绍。

SandboxName即Sandbox的目录名,最好设置为一个更好的名字,默认是软件名。

RemoveSandboxOnExit:程序结束时是否删除Sandbox。
RemoveSandboxOnExit=1 (删除Sandbox)
RemoveSandboxOnExit=0 (不删除Sandbox)

VirtualDrives:这里保存的是快照时系统的驱动器状态,包括类型、序列号等信息,以便运行虚拟程序时创建虚拟的驱动器状态,我的经验是最好是在一个虚拟机中做快照,且不要有太多分区。

以上就是一些常用的Thinapp封装参数,当然不止这些,还有很多很多高级的选项,需要的请自己参考帮助文件吧,说明都很详细,特别是ThinApp Scripts功能,可以在程序启动或结束时运行批处理或VBS脚本,这样就能实现更多的功能了。需要说明的是VMware ThinApp并不是适合每一个程序,有的封装后就不能运行,只能是通过ThinApp的升级来修复bug、支持更多的软件;强烈建议在一个干净的系统环境中使用VMware ThinApp。

VMware ThinApp应用程序虚拟化工具相关推荐

  1. VMware ThinApp简明教程:制作单文件软件和便携软件nbsp;-nbsp;精品绿色便携软件

    VMware ThinApp是一款应用程序虚拟化工具,但对于我来说用的更多的是制作单文件软件和便携软件. VMware ThinApp将程序相关资源如exe.dll.ocx.注册表项等封装到单一的EX ...

  2. 非域计算机上模拟域用户,App-V如何让非域内(工作组)PC 也能享受应用程序虚拟化...

    在App-V中,假如我们装的是Application Virtualization Management Server,要求是有域环境和SQL server作为数据库,但是有了域环境,如何让非域PC也 ...

  3. Centos 安装 KVM虚拟化工具 超云服务器 VMware

    需求:在裸机(超云服务器)上安装centos7,并在centos7上安装虚拟化工具,且再建三个虚拟机(centos/windows) 目录 需求:在裸机(超云服务器)上安装centos7,并在cent ...

  4. 云计算大数据:Xen、KVM、VMware、hyper-v等虚拟化技术的比较

    1.Xen.KVM.VMware.hyper-v等虚拟化技术的比较,xen和kvm,是开源免费的虚拟化软件. vmware是付费的虚拟化软件. hyper-v比较特别,是微软windows 2008 ...

  5. VMware发表新版桌面虚拟化软件View 3

    先说一下我的观点,以前测试过Vmware虚拟桌面产品VDI,总的来说就是在ESXServer上建立很多个Winxp的虚拟机,客户机上通过远程桌面或者web就可以使用这些虚拟桌面(ESXserver上的 ...

  6. VMware vSphere 6.7 虚拟化搭建及配置完整详细手册 | 周末送资料

    VMware vSphere 6.7 虚拟化搭建及配置完整详细手册 | 周末送资料 https://mp.weixin.qq.com/s?__biz=MjM5NTk0MTM1Mw==&mid= ...

  7. VMware vSphere6.0 服务器虚拟化部署安装图解(最全,最详细)-搭建的所有步骤

    VMware vSphere6.0 服务器虚拟化部署安装图解 一 .VMware vSphere部署的前期规划要点 1.vSphere的优点 (略) 2如何利用现在的设备架构虚拟化环境 在虚拟化过程中 ...

  8. 云原生爱好者周刊:为 DevOps 流水线准备的 macOS 虚拟化工具

    开源项目推荐 Tart Tart 是一个虚拟化工具集,用于构建.运行和管理 Apple Silicon 芯片 macOS 上的虚拟机,主要目的是为 CI 流水线的特殊任务提供运行环境.主要亮点: 使用 ...

  9. VMware vSphere6.0 服务器虚拟化部署安装图解(转载火星小编)

    VMware vSphere6.0 服务器虚拟化部署安装图解 版权声明:本文为火星小编原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 文章转载:火星小编 http ...

  10. 虚拟机VMWare“提示:软件虚拟化与此平台上的长模式不兼容”的解决方法

    虚拟机VMWare"提示:软件虚拟化与此平台上的长模式不兼容" 不少童鞋反映,在使用Windows7 64位操作系统时,无法运行VMWare或MS Virtual server等软 ...

最新文章

  1. 微信小程序之生成二维码
  2. 简单的HBase实践
  3. 让PIP源使用国内镜像,提升下载速度和安装成功率。
  4. android读取短信内容简书,Android 获取App信息
  5. [云炬创业基础笔记] 第四章测试13
  6. 整型的赋值超出该类型的取值范围
  7. leetcode111 爬楼梯 python实现
  8. cmd中检测远程的ip和端口是否处于监听状态
  9. 架构设计:远程调用服务架构设计及zookeeper技术详解(上篇)
  10. 我的前半生面试过300精英+学霸,总结出的面试经验干货大放送!
  11. 购物车及商品php代码_简单的php购物车代码
  12. 股票撤销st申请多长时间批复?
  13. Qt Creator快捷键大全
  14. V-rep学习笔记:机器人逆运动学数值解法(Cyclic Coordinate Descent Method)
  15. python版本切换_电脑上安装两个版本的python时,迅速切换环境
  16. js获取USB扫码枪数据
  17. 固态硬盘分为哪几种_通俗易懂 SSD固态硬盘接口有哪几种类型的图解
  18. 什么是数据运营?数据运营是做什么的?
  19. Java 社区平台 - Sym 1.7.0 发布
  20. 英语学习(四)动词(Verb)

热门文章

  1. 概率论与数理统计(第四版) 第二章:随机变量及其分布(第一节和第二节笔记)
  2. 有什么可以测试耳机性能的软件吗,什么是耳机音质测试软件?
  3. 网页扫雷(简易版)(一)
  4. jieba基本使用过程
  5. Ruby 的 FileUtils 模块
  6. 计算机拼音字体大小设置,怎样调整字体大小
  7. 谁能教教我, 这个插件是怎么破解 yunfile, yifile, ctfile, 77file 等网盘的
  8. 数理统计期末复习知识点总结(一)
  9. 【Linux系统编程】| 【01】系统编程基本概念
  10. 唐宇迪python课程数据百度云_【推荐下载】2017最新唐宇迪 Python数据分析与机器学习实战视频教程...