使用 Microsoft Application Virtualization Sequencer (App-V Sequencer) 同时自动更新多个应用
适用于:
- Windows 10
- Windows 11
同时更新多个应用的过程与用于 同时自动对多个应用进行排序的过程类似。 但是,在更新时,还必须将以前创建的应用包文件传递到 App-V Sequencer cmdlet。
从 Windows 10 版本 1703 开始,运行 New-BatchAppVSequencerPackages cmdlet 或 App-V Sequencer 接口会捕获所有自定义项并将其存储为 App-V 项目模板。 如果以后要对此包进行更改,将从此模板文件自动加载自定义项。
注意
如果尝试同时对多个应用进行排序,请参阅 使用 Microsoft Application Virtualization Sequencer (App-V Sequencer) 同时自动对多个应用进行排序 。
使用 PowerShell cmdlet 更新多个应用
同时更新多个应用需要创建一个 ConfigFile ,其中包含与每轮更新相关的信息。 然后,cmdlet 使用此文件在“干净”检查点处启动 VM,将安装程序从主机设备复制到 VM,然后启动 App-V Sequencer 以监视指定的应用安装。
Create ConfigFile 以供 PowerShell cmdlet 使用
确定需要包含在应用包中的应用,然后打开文本编辑器,例如记事本。
为每个应用添加以下 XML 信息:
<AppName>
. 要添加到包的应用的名称。<InstallerFolder>
. 包含应用安装程序的文件夹的文件路径。<Installer>
. 应用可执行文件的文件名。 此文件通常是 .exe 或 .msi 文件。<InstallerOptions>
. 应用安装所需的命令行选项。<Package>
. App-V 包位置的文件路径。 这些包是在对应用进行排序时创建的。<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 Update</AppName> <InstallerFolder>D:\Install\Update\SkypeforWindows</InstallerFolder> <Installer>SkypeSetup.exe</Installer> <InstallerOptions>/S</InstallerOptions> <Package>C:\App-V_Package\Microsoft_Apps\skypeupdate.appv</Package> <TimeoutInMinutes>20</TimeoutInMinutes> <Cmdlet>true</Cmdlet> <Enabled>true</Enabled> </Application> <Application> <AppName>Microsoft Power BI Update</AppName> <InstallerFolder>D:\Install\Update\PowerBI</InstallerFolder> <Installer>PBIDesktop.msi</Installer> <InstallerOptions>/S</InstallerOptions> <Package>C:\App-V_Package\MS_Apps\powerbiupdate.appv</Package> <TimeoutInMinutes>20</TimeoutInMinutes> <Cmdlet>true</Cmdlet> <Enabled>true</Enabled> </Application> </Applications>
将已完成的文件保存为 ConfigFile。
启动 App-V Sequencer 接口和应用安装过程
在主计算机上以管理员身份打开 PowerShell,并运行以下命令以开始批量更新:
New-BatchAppVSequencerPackages –ConfigFile <path_to_configfile> –VMName <name_of_vm> -OutputPath <path_to_your_output>
其中
<name_of_vm>
是虚拟机 (VM) 的名称,其中安装了将运行批处理更新的 App-V Sequencer,并且<path_to_your_output>
是应在其中复制更新包的完整路径。cmdlet 在 VM 上创建“干净”检查点。 创建检查点后,cmdlet 会将 ConfigFile 中列出的第一个应用安装程序从主机计算机复制到 VM。 此复制操作通过 VMConnect) 打开 VM (的新会话,允许从命令行开始应用更新。 完成 VM 上第一个应用的更新和包创建后,会将包从 VM 复制到在 OutputPath 参数中指定的主机计算机。 然后,该 cmdlet 将转到列表中的第二个应用,将 VM 还原回“干净”检查点,并再次运行所有步骤,直到将第二个应用包复制到输出文件夹。 此过程会一直持续到列表中包含的所有应用完成。 在最后一个应用之后,VM 将还原为“干净”检查点并关闭。
使用 App-V Sequencer 接口更新多个应用
同时更新多个应用需要创建 ConfigFile 来收集与每轮更新相关的所有信息。 在 VM 上创建“干净”检查点后,App-V Sequencer 接口随后使用此文件。
Create ConfigFile 以供 App-V Sequencer 接口使用
确定需要更新的应用,然后打开文本编辑器,例如记事本。
为每个应用添加以下 XML 信息:
<AppName>
. 要添加到包的应用的名称。<InstallerFolder>
. 包含应用安装程序的文件夹的文件路径。<Installer>
. 应用可执行文件的文件名。 此文件通常是 .exe 或 .msi 文件。<Package>
. App-V 包位置的文件路径。 这些包是在对应用进行排序时创建的。<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 Update</AppName> <InstallerFolder>D:\Install\Update\SkypeforWindows</InstallerFolder> <Installer>SkypeSetup.exe</Installer> <InstallerOptions>/S</InstallerOptions> <Package>C:\App-V_Package\Microsoft_Apps\skypeupdate.appv</Package> <TimeoutInMinutes>20</TimeoutInMinutes> <Cmdlet>false</Cmdlet> <Enabled>true</Enabled> </Application> <Application> <AppName>Microsoft Power BI Update</AppName> <InstallerFolder>D:\Install\Update\PowerBI</InstallerFolder> <Installer>PBIDesktop.msi</Installer> <InstallerOptions>/S</InstallerOptions> <Package>C:\App-V_Package\MS_Apps\powerbiupdate.appv</Package> <TimeoutInMinutes>20</TimeoutInMinutes> <Cmdlet>false</Cmdlet> <Enabled>true</Enabled> </Application> </Applications>
启动 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。 这将通过 VMConnect) 打开 VM (的新会话,应用更新从命令行开始。 完成 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 中包含的所有代码,包括允许的参数。
相关文章
- 下载 Windows ADK
- 如何安装 App-V Sequencer
- 了解 Windows Server 2016 上的 Hyper-V
- 使用 Microsoft Application Virtualization Sequencer (App-V Sequencer) 自动预配你的序列化环境
- 使用 Microsoft Application Virtualization Sequencer (App-V Sequencer) 手动对单个应用进行排序
- 使用 Microsoft Application Virtualization Sequencer (App-V Sequencer) 同时自动排序多个应用
- 自动清理 App-V 客户端上未发布的包