关于 App-V 动态配置

适用于:

  • Windows 10
  • Windows 11

可以使用动态配置为用户自定义 App-V 包。 本文将介绍如何创建或编辑现有动态配置文件。

编辑动态配置文件时,它会自定义 App-V 包如何为用户或组运行。 因此,通过消除使用所需设置重新查询包的需求,并提供使包内容和自定义设置保持独立的方法,使包自定义更加方便。

高级:动态配置

虚拟应用程序包包含一个清单,该清单提供包的所有核心信息。 此信息包括包设置的默认设置,并确定最基本窗体 (中没有进一步自定义) 设置。 如果要调整特定用户或组的这些默认值,可以创建和编辑以下文件:

  • 用户配置文件
  • 部署配置文件

这些.xml文件指定包设置,可让你在不直接影响包的情况下自定义包。 创建包后,序列器会使用包清单数据自动生成默认部署和用户配置.xml文件。 这些自动生成的配置文件反映了在排序过程中配置的包的默认设置。 如果将这些配置文件应用于序列化程序生成的窗体中的包,则包将具有来自其清单的相同默认设置。 此结果提供特定于包的模板,以便在必须更改任何默认值时开始使用。

备注

以下信息只能用于修改序列化器生成的配置文件,以自定义包以满足特定用户或组要求。

动态配置文件内容

配置文件中的所有添加、删除和更新都需要与包清单信息指定的默认值相关。 以下列表表示这些文件在读取方式中的关系,从多数到最小优先级:

  • 用户配置.xml文件
  • 部署配置.xml文件
  • 包清单

第一项表示将最后读取的内容。 因此,其内容优先。 所有包本身都包含并提供包清单中的默认设置,但其优先级也最低。 如果使用自定义设置应用部署配置.xml文件,它将覆盖包清单的默认值。 如果在包清单的默认值被重写之前应用具有自定义设置的用户配置.xml文件,它将覆盖部署配置和包清单的默认值。

有两种类型的配置文件:

  • **UserConfig (用户配置文件) **:允许你指定或修改包的自定义设置。 当包部署到运行 App-V 客户端的计算机时,这些设置将应用于特定用户。
  • **Deployment Configuration 文件 (DeploymentConfig) **:允许指定或修改包的默认设置。 当包部署到运行 App-V 客户端的计算机时,这些设置将应用于所有用户。

可以使用 UserConfig 文件自定义计算机上特定用户集的包设置,或进行将应用于本地用户位置(如 HKCU)的更改。 可以使用 DeploymentConfig 文件修改计算机上所有用户的包的默认设置,或进行将应用于全局位置(如 HKEY_LOCAL_MACHINE 和“所有用户”文件夹)的更改。

UserConfig 文件提供可应用于单个用户的配置设置,而不会影响客户端上的任何其他用户:

  • 每个用户将集成到本机系统的扩展:快捷方式、File-Type关联、URL 协议、AppPaths、软件客户端和 COM。
  • 虚拟子系统:应用程序对象、环境变量、注册表修改、服务和字体。
  • 仅) (用户上下文的脚本。

DeploymentConfig 文件在两个部分中提供配置设置,一个部分相对于计算机上下文,另一个部分相对于用户上下文,提供上述 UserConfig 列表中列出的相同功能:

  • 本主题上一部分中的所有 UserConfig 设置
  • 只能为所有用户全局应用的扩展
  • 可为全局计算机位置(如注册表)配置的虚拟子系统
  • 产品源 URL
  • 仅) (计算机上下文编写脚本
  • 终止子进程的控件

文件结构

以下部分介绍了 App-V 动态配置文件的结构。

动态用户配置文件

标题

动态用户配置文件标头的示例是:

<?xml version="1.0" encoding="utf-8"?>
<UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">

PackageId 与清单文件中存在的值相同。

动态用户配置文件正文

动态用户配置文件的正文可以包括清单文件中定义的所有应用扩展点,以及配置虚拟应用程序的信息。 正文中允许有四个子节:

应用程序:包中清单文件中包含的所有应用扩展都分配有应用程序 ID,该 ID 也在清单文件中定义。 这样,就可以为包中的给定应用程序启用或禁用所有扩展。 应用程序 ID 必须存在于清单文件中,否则将被忽略。

    <UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
    <Applications>
    <!-- No new application can be defined in policy. AppV Client will ignore any application ID that is not also in the Manifest file -->
    <Application Id="{a56fa627-c35f-4a01-9e79-7d36aed8225a}" Enabled="false">
    </Application>
    </Applications>
    …
    </UserConfiguration>

子系统:AppExtensions 和其他子系统被安排为下方 <Subsystems>的子节点,如以下示例所示。

    <UserConfiguration **PackageId**="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
    <Subsystems>
    ..
    </Subsystems>
    ..
    </UserConfiguration>

可以使用 Enabled 属性启用/禁 每个子系统。 以下部分介绍各种子系统和使用情况示例。

动态用户配置文件扩展名

扩展子系统控制扩展。 这些子系统是快捷方式、File-Type关联、URL 协议、AppPaths、软件客户端和 COM。

可以独立于内容启用和禁用扩展子系统。 因此,如果启用快捷方式,客户端将默认使用清单中包含的快捷方式。 每个扩展子系统可以包含一个 <Extensions> 节点。 如果存在此子元素,则客户端将忽略该子系统的清单文件中的内容,并且仅使用配置文件中的内容。

快捷方式子系统的示例

示例 1

如果用户在动态或部署配置文件中定义了以下语法,则将忽略内容:

                                     <Shortcuts  Enabled="true">
                                                 <Extensions
                                                  ...
                                                 </Extensions>
                                     </Shortcuts>

示例 2

如果用户仅定义以下语法,则在发布期间将集成清单中的内容:


                                    `<Shortcuts  Enabled="true"/>`

示例 3

如果用户定义了以下语法,则将忽略清单中的所有快捷方式,并且不会集成快捷方式:

                           <Shortcuts  Enabled="true">
                                                 <Extensions/>
                                     </Shortcuts>

支持的扩展子系统

快捷方式:此子系统控制将集成到本地系统的快捷方式。 以下示例有两个快捷方式:

    <Subsystems>
    <Shortcuts Enabled="true">
      <Extensions>
        <Extension Category="AppV.Shortcut">
          <Shortcut>
            <File>\[{Common Programs}\]\\Microsoft Contoso\\Microsoft ContosoApp Filler 2010.lnk</File>
            <Target>\[{PackageRoot}\]\\Contoso\\ContosoApp.EXE</Target>
            <Icon>\[{Windows}\]\\Installer\\{90140000-0011-0000-0000-0000000FF1CE}\\inficon.exe</Icon>
            <Arguments />
            <WorkingDirectory />
            <AppUserModelId>ContosoApp.Filler.3</AppUserModelId>
            <Description>Fill out dynamic forms to gather and reuse information throughout the organization using Microsoft ContosoApp.</Description>
            <Hotkey>0</Hotkey>
            <ShowCommand>1</ShowCommand>
            <ApplicationId>\[{PackageRoot}\]\\Contoso\\ContosoApp.EXE</ApplicationId>
          </Shortcut>
      </Extension>
      <Extension Category="AppV.Shortcut">
        <Shortcut>
          <File>\[{AppData}\]\\Microsoft\\Contoso\\Recent\\Templates.LNK</File>
          <Target>\[{AppData}\]\\Microsoft\\Templates</Target>
          <Icon />
          <Arguments />
          <WorkingDirectory />
          <AppUserModelId />
          <Description />
          <Hotkey>0</Hotkey>
          <ShowCommand>1</ShowCommand>
          <!-- Note the ApplicationId is optional -->
        </Shortcut>
      </Extension>
     </Extensions>
    </Shortcuts>

文件类型关联:将文件类型与默认打开和设置上下文菜单的程序相关联。 (也可以使用此子系统设置 MIME 类型。) FileType 关联的示例是:

    <FileTypeAssociations Enabled="true">
    <Extensions>
      <Extension Category="AppV.FileTypeAssociation">
        <FileTypeAssociation>
          <FileExtension MimeAssociation="true">
          <Name>.docm</Name>
          <ProgId>contosowordpad.DocumentMacroEnabled.12</ProgId>
          <PerceivedType>document</PerceivedType>
          <ContentType>application/vnd.ms-contosowordpad.document.macroEnabled.12</ContentType>
          <OpenWithList>
            <ApplicationName>wincontosowordpad.exe</ApplicationName>
          </OpenWithList>
         <OpenWithProgIds>
            <ProgId>contosowordpad.8</ProgId>
          </OpenWithProgIds>
          <ShellNew>
            <Command />
            <DataBinary />
            <DataText />
            <FileName />
            <NullFile>true</NullFile>
            <ItemName />
            <IconPath />
            <MenuText />
            <Handler />
          </ShellNew>
        </FileExtension>
        <ProgId>
           <Name>contosowordpad.DocumentMacroEnabled.12</Name>
            <DefaultIcon>\[{Windows}\]\\Installer\\{90140000-0011-0000-0000-0000000FF1CE}\\contosowordpadicon.exe,15</DefaultIcon>
            <Description>Blah Blah Blah</Description>
            <FriendlyTypeName>\[{FOLDERID\_ProgramFilesX86}\]\\Microsoft Contoso 14\\res.dll,9182</FriendlyTypeName>
            <InfoTip>\[{FOLDERID\_ProgramFilesX86}\]\\Microsoft Contoso 14\\res.dll,1424</InfoTip>
            <EditFlags>0</EditFlags>
            <ShellCommands>
              <DefaultCommand>Open</DefaultCommand>
              <ShellCommand>
                 <ApplicationId>{e56fa627-c35f-4a01-9e79-7d36aed8225a}</ApplicationId>
                 <Name>Edit</Name>
                 <FriendlyName>&Edit</FriendlyName>
                 <CommandLine>"\[{PackageRoot}\]\\Contoso\\WINcontosowordpad.EXE" /vu "%1"</CommandLine>
              </ShellCommand>
              </ShellCommand>
                <ApplicationId>{e56fa627-c35f-4a01-9e79-7d36aed8225a}</ApplicationId>
                <Name>Open</Name>
                <FriendlyName>&Open</FriendlyName>
                <CommandLine>"\[{PackageRoot}\]\\Contoso\\WINcontosowordpad.EXE" /n "%1"</CommandLine>
                <DropTargetClassId />
                <DdeExec>
                  <Application>mscontosowordpad</Application>
                  <Topic>ShellSystem</Topic>
                  <IfExec>\[SHELLNOOP\]</IfExec>
                  <DdeCommand>\[SetForeground\]\[ShellNewDatabase "%1"\]</DdeCommand>
                </DdeExec>
              </ShellCommand>
            </ShellCommands>
          </ProgId>
         </FileTypeAssociation>
       </Extension>
      </Extensions>
      </FileTypeAssociations>

URL 协议:此子系统控制集成到客户端计算机的本地注册表中的 URL 协议。 以下示例演示了“mailto:”协议。

    <URLProtocols Enabled="true">
    <Extensions>
    <Extension Category="AppV.URLProtocol">
    <URLProtocol>
      <Name>mailto</Name>
      <ApplicationURLProtocol>
      <DefaultIcon>\[{ProgramFilesX86}\]\\Microsoft Contoso\\Contoso\\contosomail.EXE,-9403</DefaultIcon>
      <EditFlags>2</EditFlags>
      <Description />
      <AppUserModelId />
      <FriendlyTypeName />
      <InfoTip />
    <SourceFilter />
      <ShellFolder />
      <WebNavigableCLSID />
      <ExplorerFlags>2</ExplorerFlags>
      <CLSID />
      <ShellCommands>
      <DefaultCommand>open</DefaultCommand>
      <ShellCommand>
      <ApplicationId>\[{ProgramFilesX86}\]\\Microsoft Contoso\\Contoso\\contosomail.EXE</ApplicationId>
      <Name>open</Name>
      <CommandLine>\[{ProgramFilesX86}\\Microsoft Contoso\\Contoso\\contosomail.EXE" -c OEP.Note /m "%1"</CommandLine>
      <DropTargetClassId />
      <FriendlyName />
      <Extended>0</Extended>
      <LegacyDisable>0</LegacyDisable>
      <SuppressionPolicy>2</SuppressionPolicy>
       <DdeExec>
      <NoActivateHandler />
      <Application>contosomail</Application>
      <Topic>ShellSystem</Topic>
      <IfExec>\[SHELLNOOP\]</IfExec>
      <DdeCommand>\[SetForeground\]\[ShellNewDatabase "%1"\]</DdeCommand>
      </DdeExec>
      </ShellCommand>
      </ShellCommands>
      </ApplicationURLProtocol>
      </URLProtocol>
      </Extension>
      </Extension>
      </URLProtocols>

软件客户端:允许应用注册为电子邮件客户端、新闻阅读器或媒体播放器,并使应用在“设置程序访问”和“计算机默认值”UI 中可见。 在大多数情况下,只需启用和禁用它。 还有一个控件允许你启用或禁用电子邮件客户端,前提是你希望所有其他客户端保持原样。

    <SoftwareClients Enabled="true">
      <ClientConfiguration EmailEnabled="false" />
    </SoftwareClients>

AppPaths:如果应用程序(如contoso.exe)注册了应用路径名称“myapp”,则此子系统允许你通过在运行菜单中输入“myapp”来打开应用。

    <AppPaths Enabled="true">
    <Extensions>
    <Extension Category="AppV.AppPath">
    <AppPath>
      <ApplicationId>\[{ProgramFilesX86}\]\\Microsoft Contoso\\Contoso\\contosomail.EXE</ApplicationId>
      <Name>contosomail.exe</Name>
      <ApplicationPath>\[{ProgramFilesX86}\]\\Microsoft Contoso\\Contoso\\contosomail.EXE</ApplicationPath>
      <PATHEnvironmentVariablePrefix />
      <CanAcceptUrl>false</CanAcceptUrl>
      <SaveUrl />
    </AppPath>
    </Extension>
    </Extensions>
    </AppPaths>

COM:允许应用程序注册本地 COM 服务器。 模式可以是集成、隔离或关闭。 当 Isol 时。

    <COM Mode="Isolated"/>

动态用户配置文件的其他设置

除了扩展,还可以启用/禁用和编辑以下其他子系统。

虚拟内核对象

    <Objects Enabled="false" />
```xml

**Virtual Registry**: use this if you want to set a registry in the Virtual Registry within HKCU.

```xml
    <Registry Enabled="true">
    <Include>
    <Key Path="\\REGISTRY\\USER\\\[{AppVCurrentUserSID}\]\\Software\\ABC">
    <Value Type="REG\_SZ" Name="Bar" Data="NewValue" />
     </Key>
      <Key Path="\\REGISTRY\\USER\\\[{AppVCurrentUserSID}\]\\Software\\EmptyKey" />
     </Include>
    <Delete>
      </Registry>

虚拟文件系统

          <FileSystem Enabled="true" />

虚拟字体

          <Fonts Enabled="false" />

虚拟环境变量

    <EnvironmentVariables Enabled="true">
    <Include>
           <Variable Name="UserPath" Value="%path%;%UserProfile%" />
           <Variable Name="UserLib" Value="%UserProfile%\\ABC" />
           </Include>
          <Delete>
           <Variable Name="lib" />
            </Delete>
            </EnvironmentVariables>

虚拟服务

          <Services Enabled="false" />

UserScripts

脚本可用于在应用程序执行之前设置或更改虚拟环境,并在部署或删除时执行脚本,也可以在应用程序终止后清理环境。 请参阅序列化程序的示例用户配置文件输出,以查看示例脚本。 有关可用于设置脚本的各种触发器的详细信息,请参阅 “脚本” 部分。

动态部署配置文件

动态部署配置文件标头

部署配置文件的标头应如下所示:

<?xml version="1.0" encoding="utf-8"?><DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/deploymentconfiguration">

PackageId 与清单文件中存在的值相同。

动态部署配置文件正文

部署配置文件的正文包括两个部分:

  • “用户配置”部分允许的内容与上一部分中所述的用户配置文件相同。 将包发布给用户时,除非还提供了用户配置文件,否则本部分中的任何应用扩展配置设置将覆盖包内清单中的相应设置。 如果还提供了 UserConfig 文件,则将使用它而不是部署配置文件中的用户设置。 如果包全局发布,则只会将部署配置文件的内容与清单结合使用。
  • “计算机配置”部分包含的信息只能为整个计算机配置,而不能为计算机上的特定用户配置。 例如,VFS 中的 HKEY_LOCAL_MACHINE注册表项。
<DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/deploymentconfiguration">
<UserConfiguration>
..
</UserConfiguration>
<MachineConfiguration>
..
</MachineConfiguration>
..
</MachineConfiguration>
</DeploymentConfiguration>

用户配置:有关本部分的详细信息,请参阅 动态用户配置

计算机配置:部署配置文件的“计算机配置”部分配置的信息只能为整个计算机(而不是计算机上的特定用户)设置,例如虚拟注册表中的 HKEY_LOCAL_MACHINE 注册表项。 此元素可以有以下四个子节。

子系统

AppExtensions 和其他子系统在以下下 <Subsystems>排列为子节点:

    <MachineConfiguration>
      <Subsystems>
      ..
      </Subsystems>
    ..
    </MachineConfiguration>

以下部分介绍各种子系统和使用情况示例。

Extensions

一些子系统 (扩展子系统) 只能应用于所有用户的控制扩展。 子系统是应用程序功能。 由于此子系统只能适用于所有用户,因此必须全局发布包才能将此类扩展集成到本地系统中。 用户配置扩展控件和设置的规则也适用于计算机配置中的规则。

应用程序功能

应用程序功能扩展由Windows OS 接口中的默认程序使用;它允许应用程序将自己注册为能够打开某些文件扩展名,作为"开始"菜单 Internet 浏览器槽的竞争者,并且能够打开某些Windows MIME 类型。 此扩展还使虚拟应用程序在“设置默认程序”UI 中可见。

    <ApplicationCapabilities Enabled="true">
      <Extensions>
       <Extension Category="AppV.ApplicationCapabilities">
        <ApplicationCapabilities>
         <ApplicationId>\[{PackageRoot}\]\\LitView\\LitViewBrowser.exe</ApplicationId>
         <Reference>
          <Name>LitView Browser</Name>
          <Path>SOFTWARE\\LitView\\Browser\\Capabilities</Path>
         </Reference>
       <CapabilityGroup>
        <Capabilities>
         <Name>@\[{ProgramFilesX86}\]\\LitView\\LitViewBrowser.exe,-12345</Name>
         <Description>@\[{ProgramFilesX86}\]\\LitView\\LitViewBrowser.exe,-12346</Description>
         <Hidden>0</Hidden>
         <EMailSoftwareClient>Lit View E-Mail Client</EMailSoftwareClient>
         <FileAssociationList>
          <FileAssociation Extension=".htm" ProgID="LitViewHTML" />
          <FileAssociation Extension=".html" ProgID="LitViewHTML" />
          <FileAssociation Extension=".shtml" ProgID="LitViewHTML" />
         </FileAssociationList>
         <MIMEAssociationList>
          <MIMEAssociation Type="audio/mp3" ProgID="LitViewHTML" />
          <MIMEAssociation Type="audio/mpeg" ProgID="LitViewHTML" />
         </MIMEAssociationList>
        <URLAssociationList>
          <URLAssociation Scheme="http" ProgID="LitViewHTML.URL.http" />
         </URLAssociationList>
         </Capabilities>
      </CapabilityGroup>
       </ApplicationCapabilities>
      </Extension>
    </Extensions>
    </ApplicationCapabilities>

动态部署配置文件的其他设置

除了扩展之外,还可以编辑其他子系统:

  • 计算机范围的虚拟注册表:如果要在 HKEY_Local_Machine 中的虚拟注册表中设置注册表项,请使用此子系统。
    <Registry>
    <Include>
      <Key Path="\\REGISTRY\\Machine\\Software\\ABC">
        <Value Type="REG\_SZ" Name="Bar" Data="Baz" />
       </Key>
      <Key Path="\\REGISTRY\\Machine\\Software\\EmptyKey" />
     </Include>
    <Delete>
    </Registry>
  • 计算机范围的虚拟内核对象
    <Objects>
    <NotIsolate>
       <Object Name="testObject" />
     </NotIsolate>
    </Objects>
  • ProductSourceURLOptOut:指示是否可以通过 PackageSourceRoot 全局修改包的 URL 以支持分支机构方案。 默认情况下,它设置为 False。 对值的更改在下次启动时生效。
    <MachineConfiguration>
      ..
      <ProductSourceURLOptOut Enabled="true" />
      ..
    </MachineConfiguration>
  • MachineScripts:可将包配置为在部署、发布或删除时执行脚本。 若要查看示例脚本,请参阅序列化程序生成的示例部署配置文件。 以下部分提供有关可用于设置脚本的各种触发器的详细信息。

  • TerminateChildProcess:可以使用此子系统指定在终止application.exe进程时终止应用程序可执行文件的子进程。

    <MachineConfiguration>
      ..
      <TerminateChildProcesses>
        <Application Path="\[{PackageRoot}\]\\Contoso\\ContosoApp.EXE" />
        <Application Path="\[{PackageRoot}\]\\LitView\\LitViewBrowser.exe" />
        <Application Path="\[{ProgramFilesX86}\]\\Microsoft Contoso\\Contoso\\contosomail.EXE" />
      </TerminateChildProcesses>
      ..
    </MachineConfiguration>

脚本

下表描述了各种脚本事件以及可在其中运行这些事件的上下文。

脚本执行时间 可以在部署配置中指定 可以在用户配置中指定 可以在包的虚拟环境中运行 可以在特定应用程序的上下文中运行 在系统/用户上下文中运行: (部署配置、用户配置)
AddPackage X (系统、N/A)
PublishPackage X X (SYSTEM,用户)
UnpublishPackage X X (SYSTEM,用户)
RemovePackage X (系统、N/A)
StartProcess X X X X (用户、用户)
ExitProcess X X X (用户、用户)
StartVirtualEnvironment X X X (用户、用户)
TerminateVirtualEnvironment X X (用户、用户)

在单个事件触发器上使用多个脚本

App-V 支持在 App-V 包的单个事件触发器上使用多个脚本,包括从 App-V 4.6 转换为 app-V Windows 客户端的包。 若要启用多个脚本的使用,App-V 使用名为 ScriptRunner.exe 的脚本启动器应用程序,该应用程序包含在 App-V 客户端中。

如何在单个事件触发器上使用多个脚本

对于要运行的每个脚本,请将该脚本作为参数传递给ScriptRunner.exe应用程序。 应用程序将单独运行每个脚本,以及为每个脚本指定的参数。 每个触发器只使用一个脚本 (ScriptRunner.exe) 。

备注

建议首先从命令提示符运行多脚本行,以确保在将所有参数添加到部署配置文件之前正确生成所有参数。

示例脚本和参数说明

使用以下示例文件和表,修改部署或用户配置文件以添加要运行的脚本。

<MachineScripts>
 <AddPackage>
   <Path>ScriptRunner.exe</Path>
   <Arguments>
   -appvscript script1.exe arg1 arg2 –appvscriptrunnerparameters –wait –timeout=10
   -appvscript script2.vbs arg1 arg2
   -appvscript script3.bat arg1 arg2 –appvscriptrunnerparameters –wait –timeout=30 –rollbackonerror
   </Arguments>
   <Wait timeout=”40” RollbackOnError=”true”/>
 </AddPackage>
</MachineScripts>
示例文件中的参数 描述
<AddPackage> 运行脚本的事件触发器的名称,例如添加或发布包时。
ScriptRunner.exe App-V 客户端中包含的脚本启动器应用程序。

尽管 App-V 客户端中包含ScriptRunner.exe,但 App-V 客户端的位置必须为 %path% 或 ScriptRunner 不会运行。 ScriptRunner.exe 通常位于 C:\Program Files\Microsoft Application Virtualization\Client 文件夹中。
-appvscript script1.exe arg1 arg2 –appvscriptrunnerparameters –wait –timeout=10

-appvscript script2.vbs arg1 arg2

-appvscript script3.bat arg1 arg2 –appvscriptrunnerparameters –wait –timeout=30 -rollbackonerror
-appvscript-表示要运行的实际脚本的令牌。
script1.exe-要运行的脚本的名称。
arg1 arg2- 要运行的脚本的参数。
-appvscriptrunnerparameters-表示script1.exe的执行选项的令牌。
-wait- 指示 ScriptRunner 在继续执行下一个脚本之前等待执行script1.exe完成的令牌。
-timeout=x-指示 ScriptRunner 在 x 秒 后停止运行当前脚本的令牌。 所有其他指定的脚本仍将运行。
-rollbackonerror—指示 ScriptRunner 停止运行尚未运行的所有脚本并将错误回滚到 App-V 客户端的令牌。
<Wait timeout=”40” RollbackOnError=”true”/> 等待ScriptRunner.exe的全面完成。

将总体运行器的超时值设置为大于或等于单个脚本上的超时值之和。

如果任何单个脚本报告错误并将回滚器设置为 True,则 ScriptRunner 应将错误报告给 App-V 客户端。

ScriptRunner 将运行其文件类型与计算机上安装的应用程序关联的任何脚本。 如果缺少关联的应用程序,或者脚本的文件类型未与计算机的任何应用程序关联,则该脚本将不会运行。

使用 App-V 清单文件创建动态配置文件

可以使用以下三种方法之一创建动态配置文件:手动、使用 App-V 管理控制台或对包进行排序,该包将生成包含两个示例文件的包。

有关如何使用 App-V 管理控制台创建文件的详细信息,请参阅 如何使用 App-V 管理控制台创建自定义配置文件

若要手动创建文件,可以将前面部分中列出的组件合并到单个文件中。 但是,建议使用由序列器生成的文件,而不是手动创建的文件。

相关主题