使用 Microsoft Application Virtualization Sequencer (App-V Sequencer) 同时自动排序多个应用

适用于:

  • Windows 10
  • Windows 11

同时序列化多个应用需要安装并启动 Microsoft Application Virtualization Sequencer (App-V Sequencer) ,并安装必要的应用以收集在安装和生成 App-V 包期间对操作系统所做的任何更改。

从 Windows 10 版本 1703 开始,运行 App-V Sequencer 会自动捕获自定义项并将其存储为 App-V 项目模板 (.appvt) 文件。 如果以后要对此包进行更改,将从此模板文件自动加载自定义项。 此自动自定义加载适用于所有排序方案:

  • 使用 New-BatchAppVSequencerPackages cmdlet
  • 使用 App-V Sequencer 接口
  • 使用 New-AppVSequencerPackage cmdlet

使用 PowerShell cmdlet 对多个应用进行排序

同时对多个应用进行排序需要创建一个 ConfigFile ,其中包含与每轮排序相关的信息。 然后,cmdlet 使用此文件在“干净”检查点处启动 VM,将安装程序从主机设备复制到 VM,然后启动 App-V Sequencer 以监视指定的应用安装。

创建 ConfigFile 供 PowerShell cmdlet 使用

  1. 确定需要包含在 App-V 排序包中的应用,然后打开文本编辑器(如记事本)。

  2. 为每个应用添加以下必需的 XML 信息:

    • <AppName>. 要添加到包的应用的名称。

    • <InstallerFolder>. 包含应用安装程序的文件夹的文件路径。

    • <Installer>. 应用可执行文件的文件名。 此文件通常是 .exe 或 .msi 文件。

    • <InstallerOptions>. 应用安装所需的命令行选项。

    • <TimeoutInMinutes>. cmdlet 应等待排序完成的最长时间(以分钟为单位)。 可以根据应用本身的大小和复杂性为每个应用输入不同的值。

    • <Cmdlet>. 确定排序器是使用 cmdlet 还是 App-V Sequencer 接口。 如果为 True ,则告知排序器使用基于 cmdlet 的排序,而 False 则告知排序器使用 App-V Sequencer 接口。 对于不同的应用,可以在同一 ConfigFile 中同时使用 cmdlet 和 接口。

    • <Enabled>. 指示是否应对应用进行排序。 True 包括应用,而 False 将忽略它。 可以在批处理文件中包含任意数量的应用,但可以选择只启用其中几个应用。

      示例:

      <?xml version="1.0"?>
          <Applications>
              <Application>
                  <AppName>Skype for Windows</AppName>
                  <InstallerFolder>D:\Install\New\SkypeforWindows</InstallerFolder>
                  <Installer>SkypeSetup.exe</Installer>
                  <InstallerOptions>/S</InstallerOptions>
                  <TimeoutInMinutes>20</TimeoutInMinutes>
                  <Cmdlet>True</Cmdlet>
                  <Enabled>True</Enabled>
              </Application>
              <Application>
                  <AppName>Power BI</AppName>
                  <InstallerFolder>D:\Install\New\MicrosoftPowerBI</InstallerFolder>
                  <Installer>PBIDesktop.msi</Installer>
                  <InstallerOptions>/S</InstallerOptions>
                  <TimeoutInMinutes>20</TimeoutInMinutes>
                  <Cmdlet>True</Cmdlet>
                  <Enabled>True</Enabled>
              </Application>
          </Applications>
      </xml>
      
  3. 使用名称 ConfigFile 保存已完成的文件。

启动 App-V Sequencer 接口和应用安装过程

在主计算机上以管理员身份打开 PowerShell,并运行以下命令以启动批处理排序:

New-BatchAppVSequencerPackages –ConfigFile <path_to_configfile> –VMName <name_of_vm> -OutputPath <path_to_your_output>

其中 <name_of_vm> 是安装了 App-V Sequencer 的虚拟机 (VM) 的名称,你将在其中运行批处理序列化,并且 <path_to_your_output> 是应在其中复制已排序包的完整路径。

cmdlet 在 VM 上创建“干净”检查点。 接下来,cmdlet 将 ConfigFile 中列出的第一个应用安装程序从主机计算机复制到 VM,最后,VM 的新会话通过 VMConnect 打开 (,) 应用排序从命令行开始。 在 VM 上第一个应用的排序和包创建完成后,会将包从 VM 复制到 在 OutputPath 参数中指定的主机计算机。 然后,该 cmdlet 将转到列表中的第二个应用,将 VM 还原回“干净”检查点,并再次运行所有步骤,直到将第二个应用包复制到输出文件夹。 此过程会一直持续到列表中包含的所有应用完成。 在最后一个应用之后,VM 将还原为“干净”检查点并关闭。

查看日志文件

同时对多个应用进行排序时,会出现三种类型的日志文件:

  • New-BatchAppVSequencerPackages-time_stamp<>.txt。 位于 %temp%\AutoSequencer\Logs 目录中。 此日志包含有关每个应用的序列化活动的信息,例如“将安装程序复制到 VM”、“计划排序任务”等。 此外,如果应用超时,此日志将包含故障以及用于排查问题的检查点。
  • New-BatchAppVSequencerPackages-report-time_stamp<>.txt。 位于前面指定的 OutputPath 文件夹中。 此日志包含有关与 VM 建立的连接的信息,其中显示了是否存在任何故障。 此外,它还简要包含所有应用的成功或失败信息。
  • Log.txt 文件。 位于 “输出包” 文件夹中。 此文件包含 NewAppVSequencerPackage cmdlet 中包含的所有代码,包括允许的参数。