轉換在舊版 App-V 中建立的套件
您可以使用套件轉換器公用程式來升級使用舊版 App-V 建立的虛擬應用程式套件。
注意
如果您執行的是具有 64 位架構的電腦,則必須使用 x86 版本的 PowerShell。
套件轉換程式只能直接轉換使用App-V 4.5排序器或後續版本所建立的套件。 在轉換之前,使用 App-V 4.5 之前的版本建立的套件必須升級為 App-V 4.5 或 App-V 4.6 格式。
下列資訊提供轉換現有虛擬應用程式封裝的方向。
重要
您必須設定套件轉換器,一律將套件要素檔案儲存到安全的位置和目錄。 只有系統管理員才能存取安全的位置。 此外,當您部署套件時,應該將套件儲存到安全的位置,或確定在轉換程式期間不允許其他使用者登入。
App-V 4.6 安裝資料夾會重新導向至虛擬檔案系統根目錄
當您將套件從 App-V 4.6 轉換為 5.1 時,App-V 5.1 套件可以存取您在建立 4.6 套件時需要使用的硬碟驅動器。 驅動器號是您在 4.6 排序電腦上選取做為安裝磁碟驅動器的磁碟驅動器。 (預設驅動器號為 Q:\.)
在 App-V 5.1 之前,4.6 根資料夾 m 已辨識且無法由 App-V 5.0 套件存取。 現在,App-V 5.1 套件可以透過其完整路徑存取硬式編碼檔案,或以程序設計方式列舉 App-V 4.6 安裝根目錄下的檔案。
技術詳細數據: App-V 5.1 套件轉換程式會將App-V 4.6安裝根資料夾和簡短資料夾名稱儲存在 Filesystem 元素的 FilesystemMetadata.xml 檔案中。 當 App-V 5.1 用戶端建立虛擬程式時,它會將來自 App-V 4.6 安裝根目錄的要求對應至虛擬文件系統根目錄。
開始使用
在您環境中的計算機上安裝App-V Sequencer。 如需如何安裝 Sequencer 的資訊,請參閱 How to Install the Sequencer。
下列 Cmdlet 可供使用:
Test-AppvLegacyPackage:此 Cmdlet 是設計來檢查套件。 它會傳回套件的任何失敗相關信息,例如遺失 .sft 檔案、無效的來源、 .osd 檔案錯誤或無效的套件版本。 此 Cmdlet 不會剖析 .sft 檔案或執行任何深入驗證。 如需此 Cmdlet 選項和基本功能的相關信息,請使用 PowerShell Cmdline,輸入
Test-AppvLegacyPackage -?
。ConvertFrom-AppvLegacyPackage:若要轉換現有的套件,請輸入
ConvertFrom-AppvLegacyPackage c:\contentStore c:\convertedPackages
。 在此命令中,c:\contentStore
代表現有套件的位置,而c:\convertedPackages
是產生的 App-V 5.1 虛擬應用程式套件檔案將儲存到其中的輸出目錄。 根據預設,如果您未指定新名稱,舊的套件名稱將用於App-V 5.1檔名。此外,套件轉換器會將套件設定為串流處理App-V套件的錯誤,以優化App-V 5.1中套件的效能。 這比主要功能區塊和完整下載套件更具效能。 旗標 DownloadFullPackageOnFirstLaunch 可讓您轉換套件,並將套件設定為預設完整下載。
注意
指定輸出目錄之前,您必須先建立輸出目錄。
進階轉換秘訣
管線 - PowerShell 支援管線。 管線可讓您呼叫
dir c:\contentStore\myPackage | Test-AppvLegacyPackage
。 在此範例中,表示myPackage
的目錄物件會指定為命令的Test-AppvLegacyPackage
輸入,並系結至-Source
參數。 當您想要將命令批處理在一起時,像這樣的管線特別有用;例如,dir .\ | Test-AppvLegacyPackage | ConvertFrom-AppvLegacyAppvPackage -Target .\ConvertedPackages
。 這個管道命令會測試套件,然後將這些對象傳遞至 實際轉換。 您也可以在套件上套用篩選而不發生錯誤,或只指定包含 .sprj 檔案的 目錄,或使用管線將它們傳送至另一個 Cmdlet,以將篩選的套件新增至伺服器,或將它們發佈至 App-V 5.1 用戶端。批處理 - PowerShell 命令會啟用批處理。 更具體來說,Cmdlet 支援針對代表目錄路徑清單的參數採用 string[] 物件
-Source
。 這可讓您輸入$packages = dir c:\contentStore
,然後呼叫ConvertFrom-AppvLegacyAppvPackage-Source $packages -Target c:\ConvertedPackages
或 ,以使用管線並呼叫dir c:\ContentStore | ConvertFrom-AppvLegacyAppvPackage -Target C:\ConvertedPackages
。其他功能 - PowerShell 有別名、管線、延遲系結、.NET 物件等功能的其他內建功能。 所有這些都可以在PowerShell中使用,並可協助您建立套件轉換器的進階案例。