Поделиться через


Сведения о динамической конфигурации App-V 5.1

С помощью динамической конфигурации можно изменить файл динамической конфигурации, чтобы настроить запуск пакета App-V 5.1 для пользователя или группы. Настройка пакета устраняет необходимость в повторной синхронизации пакетов с использованием требуемых параметров. Кроме того, он позволяет поддерживать независимое содержимое пакета и пользовательские параметры.

Пакеты виртуальных приложений содержат манифест, предоставляющий все основные сведения для пакета. Эти сведения включают значения по умолчанию для параметров пакета и определяют параметры в самой простой форме (без дополнительной настройки).

При создании пакета sequencer создает развертывание по умолчанию и конфигурацию .xml файлы автоматически с использованием данных манифеста пакета. Таким образом, эти созданные файлы отражают параметры по умолчанию, настроенные во время виртуализации. Если применить эти файлы к пакету в форме, созданной с помощью sequencer, пакеты будут иметь те же параметры по умолчанию, которые поступили из манифеста.

При необходимости используйте созданные файлы для внесения изменений, которые не влияют на пакет напрямую. Если вы хотите добавить, удалить или обновить файлы конфигурации, внесите изменения в значения по умолчанию в сведениях манифеста.

Совет

Порядок чтения файлов:

  • UserConfig.xml
  • DeploymentConfig.xml
  • Манифест

Первая запись представляет то, что получает последнее чтение. Таким образом, его содержимое имеет приоритет, и все пакеты изначально содержат и предоставляют параметры по умолчанию из манифеста пакета.

  1. Если настроить файл DeploymentConfig.xml и применить настроенные параметры, параметры по умолчанию в манифесте пакета будут переопределены.
  2. Если настроить UserConfig.xml и применить настроенные параметры, параметры по умолчанию для конфигурации развертывания и манифеста пакета будут переопределены.

Содержимое файла конфигурации пользователя (UserConfig.xml)

Файл UserConfig предоставляет параметры конфигурации, которые применяются к конкретному пользователю при развертывании пакета на компьютере с клиентом App-V 5.1. Эти параметры не влияют на других пользователей на клиенте.

Используйте файл UserConfig для указания или изменения пользовательских параметров пакета:

  • Расширения, интегрированные в собственную систему на пользователя: ярлыки, сопоставления типов файлов, протоколы URL-адресов, AppPaths, программные клиенты и COM
  • Виртуальные подсистемы: объекты приложений, переменные среды, изменения реестра, службы и шрифты
  • Скрипты (только контекст пользователя)
  • Управление центром (для управления сосуществованием пакета с Помощью App-V 4.6)

Заголовок динамического файла конфигурации пользователя выглядит следующим образом:

<?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 — это то же значение, что и в файле манифеста.

Body

Текст динамического файла конфигурации пользователя может включать все точки расширения приложения, определенные в файле манифеста, а также сведения о настройке виртуальных приложений. В теле разрешено четыре подраздела:

  1. Приложения
  2. Подсистем
  3. UserScripts
  4. ManagingAuthority

Приложения

Всем расширениям приложений, содержащимся в файле манифеста в пакете, назначен идентификатор приложения, который можно найти в файле манифеста. Идентификатор приложения позволяет включить или отключить все расширения для заданного приложения в пакете. Идентификатор приложения должен существовать в файле манифеста, или он игнорируется.

<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 и другие подсистемы, упорядоченные как подузлы.

<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.

Подсистемы расширения можно включить и отключить независимо от содержимого. Например, если вы включаете ярлыки, клиент по умолчанию использует ярлыки, содержащиеся в манифесте. Каждая подсистема расширения может содержать узел <расширений> . Если этот дочерний элемент присутствует, клиент игнорирует содержимое в файле манифеста для этой подсистемы и использует только содержимое в файле конфигурации.

Примеры:

  • Если вы определяете это в файле конфигурации пользователя или развертывания, содержимое манифеста игнорируется.

    
    <Shortcuts  Enabled="true"\>
    
    <Extensions>
    
    ...
    
    </Extensions>
    
    </Shortcuts>
    
  • Если вы определяете только следующее, содержимое манифеста интегрируется во время публикации.

    
    <Shortcuts  Enabled="true"/>
    
  • Если вы определите следующее, все ярлыки в манифесте будут по-прежнему игнорироваться. Иными словами, ярлыки не интегрируются.

    
    <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.


<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-000000FF1CE}\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}]\MicrosoftContoso\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>

Подсистема расширения "Клиенты программного обеспечения" позволяет приложению регистрироваться в качестве почтового клиента, средства чтения новостей, проигрывателя мультимедиа и делает приложение видимым в пользовательском интерфейсе set program access и Computer defaults. В большинстве случаев необходимо только включить и отключить его. Существует также элемент управления для включения и отключения почтового клиента, если вы хотите, чтобы другие клиенты по-прежнему были включены, за исключением этого клиента.


<SoftwareClients Enabled="true">

  <ClientConfiguration EmailEnabled="false" />

</SoftwareClients>

Подсистема расширения AppPaths открывает приложения, зарегистрированные с помощью пути к приложению. Например, если contoso.exe имя приложения myapp, пользователи могут ввести myapp в меню запуска, открыв contoso.exe.


<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-серверах. Режим может быть:

  • Интеграции
  • Изолированные
  • Отключено

<COM Mode="Isolated"/>

Объекты виртуального ядра


<Objects Enabled="false" />

Виртуальный реестр задает реестр в виртуальном реестре в HKCU.


<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

Используйте UserScripts для настройки или изменения виртуальной среды. Вы также можете выполнять скрипты во время развертывания или очищать среду после завершения работы приложения. Чтобы просмотреть пример скрипта, обратитесь к файлу конфигурации пользователя, созданному с помощью sequencer. В разделе "Скрипты" ниже приведены дополнительные сведения о различных триггерах, которые можно использовать.

ManagingAuthority

Используйте ManagingAuthority, если на одном компьютере существуют две версии пакета: одна развернута в App-V 4.6, а другая — в App-V 5.0. Чтобы разрешить App-V vNext принимать точки расширения App-V 4.6 для именованного пакета, введите следующее в файл UserConfig (где PackageName — это GUID пакета в App-V 4.6:


<ManagingAuthority TakeoverExtensionPointsFrom46="true" PackageName="032630c0-b8e2-417c-acef-76fc5297fe81" />

Файл конфигурации развертывания (DeploymentConfig.xml)

Файл DeploymentConfig предоставляет параметры конфигурации для контекста компьютера и контекста пользователя, предоставляя те же возможности, что и в файле UserConfig. Этот параметр применяется при развертывании пакета на компьютере с клиентом App-V 5.1.

Используйте файл DeploymentConfig для указания или изменения пользовательских параметров пакета:

  • Все параметры UserConfig
  • Расширения, которые могут применяться глобально только для всех пользователей
  • Виртуальные подсистемы для глобальных расположений компьютеров, например реестр
  • URL-адрес источника продукта
  • Скрипты (только контекст компьютера)
  • Элементы управления для завершения дочерних процессов

Заголовок

Заголовок файла конфигурации динамического развертывания выглядит следующим образом:

<?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 — это то же значение, что и в файле манифеста.

Body

Текст файла конфигурации динамического развертывания содержит два раздела:

  • UserConfiguration: разрешает то же содержимое, что и файл конфигурации пользователя, описанный в предыдущем разделе. При публикации пакета пользователю любые параметры конфигурации appextensions в этом разделе переопределяют соответствующие параметры манифеста в пакете, если вы не предоставляете файл конфигурации пользователя. Если также предоставляется файл UserConfig, он используется вместо параметров пользователя в файле конфигурации развертывания. При глобальной публикации пакета в сочетании с манифестом используется только содержимое файла конфигурации развертывания. Дополнительные сведения см. в описании содержимого файла конфигурации пользователя (UserConfig.xml).

  • MachineConfiguration: содержит сведения, которые можно настроить только для всего компьютера, а не для конкретного пользователя на компьютере. Например, HKEY_LOCAL_MACHINE разделы реестра в VFS.


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

<UserConfiguration>

...

</UserConfiguration>

<MachineConfiguration>

...

</MachineConfiguration>

...

</MachineConfiguration>

</DeploymentConfiguration>

UserConfiguration

Сведения о параметрах , указанных в этом разделе, см. в UserConfig.xml файла конфигурации пользователя.

MachineConfiguration

Используйте раздел MachineConfiguration для настройки сведений для всего компьютера. не для определенного пользователя на компьютере. Например, HKEY_LOCAL_MACHINE разделы реестра в виртуальном реестре. В этом элементе допускается четыре подраздела:

  1. Подсистем
  2. ProductSourceURLOptOut
  3. MachineScripts
  4. TerminateChildProcess

Подсистем

AppExtensions и другие подсистемы, упорядоченные как подузлы.


<MachineConfiguration>

  <Subsystems>

  …

  </Subsystems>

…

</MachineConfiguration>

Вы можете включить или отключить каждую подсистему с помощью атрибута Enabled .

Расширения

Некоторые подсистемы (подсистемы расширения) — расширения управления. Подсистема — это возможности приложений, которые используются программами по умолчанию. Для расширения этого типа пакет должен быть опубликован глобально для интеграции с локальной системой. Те же правила для элементов управления и параметров, которые применяются к расширениям в конфигурации пользователя, применяются и к элементам управления в разделе MachineConfiguration.

Возможности приложения: используются по умолчанию программами, которые позволяют приложению регистрироваться как:

  • Возможность открытия определенных расширений файлов
  • Сопер для слота браузера в меню "Пуск"
  • Возможность открытия определенных типов windows MIME

Это расширение также делает виртуальное приложение видимым в пользовательском интерфейсе set default programs.


<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

Используйте ProductSourceURLOptOut, чтобы указать, что URL-адрес пакета можно изменить глобально с помощью PackageSourceRoot (для поддержки сценариев филиала). Изменения вступает в силу при следующем запуске.


<MachineConfiguration>

  ... 

  <ProductSourceURLOptOut Enabled="true" />

  ...

</MachineConfiguration>

MachineScripts

Пакет можно настроить для выполнения скриптов во время развертывания, публикации или удаления. Пример скрипта см. в файле конфигурации развертывания, созданном с помощью sequencer.

В разделе "Скрипты" ниже приведены дополнительные сведения о различных триггерах, которые можно использовать.

TerminateChildProcess

Можно указать исполняемый файл приложения, дочерние процессы которого завершаются после завершения процесса 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 (SYSTEM, N/A)
PublishPackage X X (SYSTEM, user)
UnpublishPackage X X (SYSTEM, user)
RemovePackage X (SYSTEM, N/A)
StartProcess X X X X (Пользователь, пользователь)
ExitProcess X X X (Пользователь, пользователь)
StartVirtualEnvironment X X X (Пользователь, пользователь)
TerminateVirtualEnvironment X X (Пользователь, пользователь)

Использование нескольких скриптов в одном триггере событий

App-V 5.1 поддерживает использование нескольких скриптов в одном триггере событий для пакетов App-V, включая пакеты, которые вы преобразуете из App-V 4.6 в App-V 5.0 или более поздней версии. Чтобы включить использование нескольких сценариев, App-V 5.1 использует приложение запуска скриптов с именем 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></Path>

Приложение средства запуска скриптов, установленное в рамках установки клиента App-V.

Примечание.

Хотя ScriptRunner.exe устанавливается как часть клиента App-V, расположение клиента App-V должно находиться в %path% или ScriptRunner не будет выполняться. ScriptRunner.exe обычно находится в папке Виртуализации C:FilesApplication.

<Аргументы>

-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.

Задайте значение времени ожидания для всего средства выполнения больше или равно сумме значений времени ожидания для отдельных скриптов.

Если какой-либо отдельный скрипт сообщил об ошибке, а для параметра rollbackonerror задано значение true, ScriptRunner сообщает об ошибке клиенту App-V.

ScriptRunner запускает любой скрипт, тип файла которого связан с приложением, установленным на компьютере. Если связанное приложение отсутствует или тип файла скрипта не связан ни с любым приложением на компьютере, скрипт не выполняется.

Создание файла динамической конфигурации с помощью файла манифеста App-V 5.1

Динамический файл конфигурации можно создать с помощью одного из трех методов: вручную, с помощью консоли управления App-V 5.1 или виртуализации пакета, который создает два примера файлов. Дополнительные сведения о создании файла с помощью консоли управления App-V 5.1 см. в статье "Создание пользовательского файла конфигурации с помощью консоли управления App-V 5.1".

Чтобы создать файл вручную, приведенные выше сведения в предыдущих разделах можно объединить в один файл. Рекомендуется использовать файлы, созданные с помощью sequencer.

Для устранения проблем с App-V используйте форум TechNet app-V.