? ? ?VMware ThinApp是一款应用程序虚拟化工具,其实在制作单文件软件和便携软件的方面也毫不逊色。VMware ThinApp将程序相关资源如exe、dll、ocx、注册表项等封装到单一的EXE文件中,程序运行时需要的资源也都从这个单EXE的虚拟环境中,从而实现与操作系统的隔离。VMware ThinApp是由VMware收购而来的,以前我们也介绍过VMware公司的软件。

VMware8虚拟机安装Win8超详细教程:http://www.cyqsd.com/2013/04/vmware8-xu-ni-ji-an-zhuang-win8-chao-xiang-xi-jiao-cheng/

2014年7月5日链接更新为:https://www.cyqsd.cn/537.html

之前一直想做一个简单的ThinApp使用教程可惜那时是英文版,就算我把教程写出来,看的人也不多吧!其实汉化版2012年就有了,但懂这个软件的人都知道,用VMware ThinApp制作的软件运行是有水印,看起来不爽,今天我们的教程用的就是完全汉化版和无水印版的结合。此软件的好处为可以对一些安装软件进行封装,从而省去了重做系统在从新安装软件的麻烦,而且运行是不会对系统残留垃圾文件和注册表键值。有人说用WinRaR来制作来制作不一样吗?VMware ThinApp和WinRaR是两种概念,winrar需要把封装的程序全部释放到硬盘上才能运行,VMware ThinApp封装的程序不需释放到硬盘上即可运行。

下载地址

http://disk.cyqsd.com/viewfile.php?file_id=5

2014年7月5日链接更新为:

运行前准备

怎么好的软件VMware公司肯定要收一点费啊,不过我们提供下载的版本带了注册*机,就在根目录自己找。怎么用就不多说了。特别提示:首先要装一个干净的操作系统可以用VMware Workstation来装安装的系统不要用ghost集成版的,因为ghost集成版安装后集成了一些常用软件,不利于安装制作环境捕捉。可以用官方原版或ghost纯净版。不然会有垃圾。VMware ThinApp软件解压到VMware Workstation虚拟的系统里去放到C:Program Files下即可。为了避免制作安装软件时对系统造成环境的更改,可以在系统里安装个还原软件例如:Returnil 影子系统,设为保护模式。因为我们制作时不会单制作一个软件吧,装多了后就会都系统环境造成破坏,不利于捕捉,所以要安个还原软件。你不可能每次都重新装虚拟机的系统吧!

制作

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 (系统的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、支持更多的软件。