序
App-V 4.5版有一個新功能,DSC(Dynamic Suite Composition),中文翻譯為動态套件合成,它提供了一種新方法來內建在各虛拟應用程式之間共享的依賴關系、中間件和插件。一般的應用程式,在Secquencer上隻要開始監視,安裝應用程式,停止監視,轉後我們就可以捕獲到應用程式,但是輔助應用程式的排序有一個特别的地方,我發現并不是任何的輔助應用程式,安裝完成後,系統都會捕獲到東西出來的,有時候是遇到這樣的尴尬情況,例如下圖所示,不能繼續下一步。
而實際上這是可以了解的,因為它本身很可能就是依賴于其他軟體的小插件,而不是一個真正的軟體。這就需要在停止監視前,打開主要應用程式,或者自己創造一個應用程式出來,原因下面會介紹。
什麼是DSC(Dynamic Suite Composition)
首先看看什麼是DSC, 以下一段摘自微軟Technet雜志與Technet知識庫,假如已經了解過,這兩段可以忽略。
例如,假設您有五個 Web 應用程式,它們需要同一 Java 版本。在 App-V 4.1 中,您必須将此相同的 Java 版本添加到五個單獨軟體包中的每一個。假設 Java 版本需要一個更新檔。管理者稍後必須為五個不同的軟體包提供更新檔。如使用 DSC,Java 隻需打包一次,即可配置為能供所有五個 Web 應用程式使用的軟體包。是以,修補 Java 隻需要管理者為 Java 軟體包提供一次更新檔。
在對依賴于插件(如 ActiveX 控件)的應用程式或依賴于中間件(如 OLE DB 或 Java Runtime Environment (JRE))的應用程式進行排序時,可以使用動态套件合成功能。如果需要對每個使用這些相關元件的應用程式(包括元件)進行排序,則對這些元件執行更新時要求對所有主要應用程式重新排序。通過對不含這些元件的主要應用程式進行排序,然後對作為輔助程式包的中間件或插件進行排序,隻需更新輔助程式包。此方法的一個優點是可以縮小主要程式包的尺寸。另一個優點是使您可以更好地控制對輔助應用程式的通路權限。主要程式包可以具有多個輔助程式包。但是,僅支援一個級别的依存關系,是以您不能将一個輔助程式包定義為依賴于另一個輔助程式包。此外,輔助應用程式隻能是中間件或插件,且不能是另一個完整的軟體産品。
為什麼要打開應用程式,或者自己建立一個應用程式
輔助程式包是除主程式包外的第二個包. 根據我的觀察,一方面,假如在Sequencer中至少要捕獲到一個應用程式,才能完成序列化全過程, 而另一方面,當你需要将這個包導入管理控制台的時候,隻有應用程式才有權限控制的功能,進而控制對輔助應用程式的通路者權限.是以必須至少有一個應用程式能夠被捕獲,那麼你可以選擇在主應用程式中打開一個應用程式,或者直接建立一個應用程式,比較簡便的方法就是打開一個記事本再關閉, 那麼至少能捕獲到一個程式.
下面以Office2007的一個934K的很小的插件(Microsoft Save as PDF or XPS)為例,看看這樣的小插件是怎樣排序的, 你可以在停止監視前打開一個office任何一個程式檢視,接着就至少捕獲到一個應用程式了(建議不要打開所有應用程式來檢視,不然可能會捕獲到很多應用程式,而捕捉更多的應用程式對我們都來是沒有大的作用的), 或者我們就直接打開一個記事本再關閉,因為後者具有普遍性,是以下面用打開我們”萬能”的記事本來作一個介紹,這裡介紹的是在App-V(SoftGrid4.5) 中成功排序輔助應用程式的一個方法,這個不是唯一的方法,也可能你需要會根據你自己實際的環境進行必要的修改。假如有哪裡說得不對,請大家指正,謝謝。
排序實驗
1. 在排序伺服器上先真實地安裝Office 2007,接着選了Microsoft Save as PDF or XPS 這個插件作為例子進行排序
2. 像往常一樣,打開Application Virtualization Sequencer,建立一個包,包名稱offadd, 路徑選擇為Q:\offadd并選擇開始監視
3.點選這個小插件安裝,一閃很快就安裝完了
4. 假如這時候停止監視,後面一步将捕獲不到任何應用程式,無法繼續下一步,這裡的小技巧是,在Sequencer上打開記事本,接着将其關閉,有什麼奧妙,看看下一步。
5. 我們可以捕獲到了一個記事本應用程式,并成功地完成序列化過程。排序步驟與普通排序一樣,這裡不在贅述。
6. 我們在App-V server上将這個記事本程式導如,建立的名字為offadd
7. 我們不需要選任何的快截方式,我們無需選擇, 因為我們的目的不在得到這個記事本,而是成功排序,醉翁之意不在酒呵呵
8. 導入成功了,可以看到offadd這一個應用程式
9. 我們打開這個插件的.osd檔案,找出CODEBASE這一行
<CODEBASE HREF="RTSP://gztemp:1000/offadd/offadd.sft" GUID="8BB5013F-B364-45B9-A3FF-01E2122BE3A0" PARAMETERS="" FILENAME="%CSIDL_SYSTEM%\notepad.exe" SYSGUARDFILE="offadd\osguard.cp" SIZE="2044844"/>
10. 将這一行放到office你需要使用到這個插件的.osd檔案中,這裡以word為例
在緊挨 </VIRTUALENV> 标記前的 <VIRTUALENV> 部分結尾處的 </ENVLIST> 标記關閉後,插入 <DEPENDENCIES> 标記。
将CODEBASE 這一行粘貼到剛建立的 <DEPENDENCIES> 标記後。假如這個包為必需的程式包(意味着在啟動主要程式包之前必須先啟動該程式包),請在 CODEBASE 标記内添加 MANDATORY=”TRUE” 屬性。如果該程式包不是必需的程式包,則可以忽略該屬性,這個例子,加不加都沒關系,因為不是必須的,這裡我加上了。
保留CODEBASE這一行的3個必選屬性
必選:
HERF:
GUID:
SYSGUARDFILE:
可選:
MANDATORY=”TRUE”
<DEPENDENCIES>
<CODEBASE HREF="RTSP://gztemp:1000/offadd/offadd.sft" GUID="8BB5013F-B364-45B9-A3FF-01E2122BE3A0" SYSGUARDFILE="offadd\osguard.cp" MANDATORY="TRUE"/>
</DEPENDENCIES>
11. 完成了,我們看看插件排序前後的效果
本文轉自 VirtualTom 51CTO部落格,原文連結:http://blog.51cto.com/virtualtom/276809,如需轉載請自行聯系原作者