轉自: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应用程序虚拟化工具的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。