共用方式為


轉換在舊版 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 安裝根目錄的要求對應至虛擬文件系統根目錄。

開始使用

  1. 在您環境中的計算機上安裝App-V Sequencer。 如需如何安裝 Sequencer 的資訊,請參閱 How to Install the Sequencer

  2. 下列 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中使用,並可協助您建立套件轉換器的進階案例。

App-V 5.1 作業