admin管理员组

文章数量:1530845

2024年7月25日发(作者:)

VMware ThinApp 即之前的 Thinstall,被 VMware 收购,是一款不错的应用程

序虚拟化工具,可以实现在同一操作系统上运行任何版本的虚拟应用程序而不发生冲突。

VMware ThinApp 对于我来说更多是作为单文件软件和便携软件制作工具来使用的,

它将程序相关资源如 EXE、DLL、OCX、注册表等封装到一个单一的 EXE 文件中,程序

被限定在此环境下运行,需要的资源也都从这个单 EXE 封装包中调用,从而无需管理员

权限,实现与操作系统的隔离。

使用说明:2012.6.17 更新版本为 VMware ThinApp 4.7.1-677178,运行 Setup

即 Thinapp Packager Suite 开始创建系统快照,可以参考我这里的一个

ThinApp 简单教程。

* 为每一个程序封装自己的 DLL 与注册表更改,避免安装冲突;

* 在锁定/权限降低的 PC 环境中以 100% 的用户模式运行程序;

* 无需管理员权限即可从任意的媒体介质上运行程序。

什么是应用程序虚拟化?

应用虚拟化使得在不修改本地操作系统或文件系统的基础上进行软件的部署。它允许软

件可以在独立的环境中交付与更新,以确保操作系统和所有应用程序的完整性。因此,应

用程序冲突及需要的回归测试将会显着减少。同一个的应用程序可以封装并并部署到多个

版本的操作系统。这样应用程序将会更容易地供给、部署、升级和回滚。

通过与虚拟机的对比将有助于对应用程序虚拟化的理解。虚拟机,包括 VMware 的

VDI、ACE 及 Workstation 等,是从基础的硬件上与操作系统脱离,是通过物理硬件资

源抽象化并作为操作系统的虚拟资源实现的。与直接安装到硬件资源相比,其结果是更高

程度的硬件独立性、隔离、和封装。而应用程序虚拟化,包括 Cameyo 和 VMware 的

ThinApp,是从基础的操作系统上与应用程序分离,将操作系统资源抽象化后提交给应用

程序作为虚拟资源。与直接安装到操作系统环境中相比,其结果是更高程度的独立、隔离

与封装。因此,应用虚拟化是虚拟机强有力的补充,两者的共同使用将会大大增加效益。

通过 VMware ThinApp 你可以实现:

通过应用程序虚拟化消除安装冲突

应用程序虚拟化技术可以将应用程序封装起来以与 OS 或其他程序独立开;这样可以

消除昂贵的回归测试和来自恶意程序的冲突。只需将程序插入到 MSI 或 EXE 文件中并部

署一个包括注册表键值、DLL、第三方库及 Framework 的虚拟系统环境,而无需在底层

操作系统中安装的任何的代理或应用。

一次封装、任意部署

在用户模式下部署虚拟化应用程序,而无需管理员权限。由于整个应用程序及其虚拟

OS 是作为单 EXE 文件部署的,所以无需安装设备驱动也不会修改注册表。从一个共享网

络驱动器流式传输大型应用程序而无需服务器或客户端软件的安装。即使程序正在是也能

升级或回滚。新版本的应用程序将在用户下次启动时得到运行。

照顾到您的移动办公员工

让您的用户可以在任意一台电脑上运行部署的应用程序,即使是报摊和酒店的电脑。

他们不需要安装软件或设备驱动,也不需要管理员权限。而且应用程序运行可直接从便携

式存储设备上启动,包括闪存驱动器。

提高软件分发过程

分发您的软件而保护本地操作系统不被更改,一些更改可能引起不稳定或破坏安全。

即使受限用户账户也可以无需安装而安全地运行虚拟化应用程序。

Run any version of virtually any application on a single operating system

without conflicts. You can even run multiple versions of the same application.

VMware ThinApp 下载信息

官方网站:

解压密码:

压缩包MD5: 1EBD9A452548A81494904F013BAC8800

开始下载 VMware ThinApp 4.7.1-677178 绿色版

VMwareThinApp_4.7.1-677178_ | 46.5 MB

来自精品绿色便携软件 | 进入软件下载页面 | 历史版本

教程

VMware ThinApp是一款应用程序虚拟化工具,但对于我来说用的更多的是制作单

文件软件和便携软件。

VMware ThinApp将程序相关资源如exe、dll、ocx、注册表项等封装到单一的EXE

文件中,程序运行时需要的资源也都从这个单EXE的虚拟环境中,从而实现与操作系统的

隔离。

借助VMware ThinApp的封装可以制作比较纯正的单文件软件,而简单设置参数后,

VMware ThinApp也能充当制作便携软件的角色,大部分情况下,VMware ThinApp也

确实能出色的工作。

之前一直想做一个简单的ThinApp使用教程,不过总是没坚持下来,这次借着新版

VMware ThinApp的发布就先整理出一个制作思路来吧,希望能与大家共同探讨学习下。

不过现在我还是不太喜欢单文件软件了,尤其是ThinApp封装的,更倾向于绿色软件、便

携软件和免安装软件。

1. 首先运行程序Setup ,ThinApp会以向导模式完成程序打包,点击

Next继续。

2. 这里简单介绍了注意事项,最主要的就是在一个干净的系统上扫描形成系统快照,

好处就是能得到程序正常运行所需要的最多信息。

如需要自定义扫描配置,点击 ,这里可以设置需要扫描的驱动

器和注册表分支,设定好之后确定返回。

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浏览到工程文件目录。在这里可以删除一些不必要的文件以

减少封装后的文件大小,如删除帮助文件、卸载程序等;而这里的就是封装

参数配置文件,由调用,我在这里说明一下常用的参数。修改参数后重新运行

即可生成虚拟化程序。

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

中更改:

可选项有:

NoneCompressionType=None

CompressionType=Fast

DirectoryIsolationMode=Merged

DirectoryIsolationMode=WriteCopy

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

路径,也可用绝对路径。

SandboxPath=. (EXE文件相同路径下)

SandboxPath=%AppData%Thinstall (系统的AppDataThinstall目录)

SandboxPath=LocalSandboxSubdir1(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也用的少多了,不过

还是希望能与大家多交流交流。

本文标签: 程序软件应用程序运行