Сведения о динамической конфигурации App-V
Относится к:
- Windows 10
- Windows 11
Динамическую конфигурацию можно использовать для настройки пакета App-V для пользователя. В этой статье описано, как создать или изменить существующий динамический файл конфигурации.
При редактировании файла динамической конфигурации он настраивает выполнение пакета App-V для пользователя или группы. Таким образом, настройка пакета становится более удобной за счет устранения необходимости повторной замены пакетов с помощью нужных параметров и позволяет обеспечить независимость содержимого пакета и пользовательских параметров.
Дополнительно: динамическая конфигурация
Пакеты виртуальных приложений содержат манифест, предоставляющий все основные сведения для пакета. Эта информация включает значения по умолчанию для параметров пакета и определяет параметры в самой базовой форме (без дополнительной настройки). Если вы хотите настроить эти значения по умолчанию для определенного пользователя или группы, можно создать и изменить следующие файлы:
- Файл конфигурации пользователя
- Файл конфигурации развертывания
Эти файлы .xml указывают параметры пакета, что позволяет настраивать пакеты, не затрагивая пакеты напрямую. При создании пакета последовательность автоматически создает развертывание по умолчанию и конфигурацию пользователя .xml файлы с использованием данных манифеста пакета. Эти автоматически созданные файлы конфигурации отражают параметры пакета по умолчанию, настроенные во время виртуализации. Если применить эти файлы конфигурации к пакету в форме, созданной с помощью последовательности, пакеты будут иметь те же параметры по умолчанию, что и из манифеста. Этот результат предоставляет шаблон для конкретного пакета, чтобы приступить к работе, если необходимо изменить какие-либо из значений по умолчанию.
Примечание.
Приведенные ниже сведения можно использовать только для изменения файлов конфигурации, созданных последовательностью, для настройки пакетов в соответствии с конкретными требованиями пользователей или групп.
Содержимое файла динамической конфигурации
Все добавления, удаления и обновления в файлах конфигурации должны быть выполнены в соответствии со значениями по умолчанию, указанными в манифесте пакета. В следующем списке представлена связь между этими файлами в том, как они будут считываться, от большинства до наименьшего приоритета:
- Файл .xml конфигурации пользователя
- Файл .xml конфигурации развертывания
- Манифест пакета
Первый элемент представляет, что будет прочитано последним. Поэтому его содержимое имеет приоритет. Все пакеты по своей сути содержат и предоставляют параметры по умолчанию из манифеста пакета, но они также имеют наименьший приоритет. Если применить файл конфигурации развертывания .xml с настроенными параметрами, он переопределит значения по умолчанию манифеста пакета. Если применить конфигурацию пользователя .xml файл с настроенными параметрами до переопределения значений по умолчанию манифеста пакета, он переопределит конфигурацию развертывания и значения по умолчанию манифеста пакета.
Существует два типа файлов конфигурации:
- Файл конфигурации пользователя (UserConfig): позволяет указать или изменить пользовательские параметры для пакета. Эти параметры будут применены к конкретному пользователю при развертывании пакета на компьютере с клиентом App-V.
- Файл конфигурации развертывания (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 — это то же значение, что и в файле манифеста.
Текст файла динамической конфигурации пользователя
Текст файла динамической конфигурации пользователя может содержать все точки расширения приложений, определенные в файле манифеста, и сведения для настройки виртуальных приложений. В тексте разрешено четыре подраздела:
Приложения. Всем расширениям приложений, содержащимся в файле манифеста в пакете, присваивается идентификатор приложения, который также определяется в файле манифеста. Это позволяет включить или отключить все расширения для определенного приложения в пакете. Идентификатор приложения должен существовать в файле манифеста, иначе он будет игнорироваться.
<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>
Клиенты программного обеспечения. Позволяет приложению регистрироваться в качестве клиента электронной почты, читателя новостей или проигрывателя мультимедиа и делает приложение видимым в пользовательском интерфейсе Set Program Access and Computer Defaults (Установка доступа к программе и компьютер по умолчанию). В большинстве случаев требуется только включить и отключить его. Существует также элемент управления, который позволяет включать или отключать почтовый клиент только в том случае, если вы хотите, чтобы все остальные клиенты оставались такими, как они есть.
<SoftwareClients Enabled="true">
<ClientConfiguration EmailEnabled="false" />
</SoftwareClients>
AppPaths. Если приложение, например contoso.exe, зарегистрировано с именем apppath "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 — это то же значение, что и значение, существующее в файле манифеста.
Текст файла конфигурации динамического развертывания
Текст файла конфигурации развертывания состоит из двух разделов:
- В разделе Конфигурация пользователя допускается то же содержимое, что и в файле конфигурации пользователя, описанном в предыдущем разделе. При публикации пакета для пользователя все параметры конфигурации appextensions в этом разделе переопределяют соответствующие параметры манифеста в пакете, если файл конфигурации пользователя также не указан. Если также указан файл UserConfig, он будет использоваться вместо параметров пользователя в файле конфигурации развертывания. Если пакет публикуется глобально, в сочетании с манифестом будет использоваться только содержимое файла конфигурации развертывания.
- Раздел Конфигурация компьютера содержит сведения, которые можно настроить только для всего компьютера, а не для конкретного пользователя на компьютере. Например, 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>
Конфигурация пользователей. Дополнительные сведения об этом разделе см. в разделе Динамическая конфигурация пользователей.
Конфигурация компьютера. В разделе Конфигурация компьютера файла конфигурации развертывания настраивается информация, которая может быть задана только для всего компьютера, а не для конкретного пользователя на компьютере, например для HKEY_LOCAL_MACHINE разделов реестра в Виртуальном реестре. Этот элемент может содержать следующие четыре подраздела.
Подсистем
AppExtensions и другие подсистемы упорядочены как подноды в разделе <Subsystems>
:
<MachineConfiguration>
<Subsystems>
..
</Subsystems>
..
</MachineConfiguration>
В следующем разделе описаны различные подсистемы и примеры использования.
Расширения
Некоторые подсистемы (подсистемы расширений) управляют расширениями, которые могут применяться только ко всем пользователям. Подсистема — это возможности приложений. Так как эта подсистема может применяться только ко всем пользователям, пакет должен быть опубликован глобально, чтобы этот тип расширения можно было интегрировать в локальную систему. Правила для элементов управления расширения и параметров пользовательской конфигурации также применяются к элементам в конфигурации компьютера.
Возможности приложений
Расширение возможностей приложений используется программами по умолчанию в интерфейсе ОС Windows; она позволяет приложению зарегистрировать себя как способного открывать определенные расширения файлов, в качестве претендента на слот браузера меню "Пуск" и как способного открывать определенные типы 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: указывает, можно ли глобально изменить URL-адрес пакета с помощью PackageSourceRoot для поддержки сценариев филиала. По умолчанию задано значение False. Изменения значения вступают в силу при следующем запуске.
<MachineConfiguration>
..
<ProductSourceURLOptOut Enabled="true" />
..
</MachineConfiguration>
MachineScripts. Пакет можно настроить для выполнения скриптов при развертывании, публикации или удалении. Пример скрипта см. в примере файла конфигурации развертывания, созданного с помощью программы sequencer. В следующем разделе содержатся дополнительные сведения о различных триггерах, которые можно использовать для настройки скриптов.
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 | (SYSTEM, Н/Д) | |||
PublishPackage | X | X | (SYSTEM, User) | ||
Отмена публикации пакета | X | X | (SYSTEM, User) | ||
RemovePackage | X | (SYSTEM, Н/Д) | |||
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. Хотя ScriptRunner.exe включен в клиент App-V, расположение клиента 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 запустит любой скрипт, тип файла которого связан с приложением, установленным на компьютере. Если связанное приложение отсутствует или тип файла скрипта не связан ни с каким из приложений компьютера, скрипт не будет выполняться.
Create файла динамической конфигурации с помощью файла манифеста App-V
Файл динамической конфигурации можно создать одним из трех методов: вручную, с помощью консоли управления App-V или путем виртуализации пакета, который создаст пакет с двумя примерами файлов.
Дополнительные сведения о создании файла с помощью консоли управления App-V см. в статье Создание пользовательского файла конфигурации с помощью консоли управления App-V.
Чтобы создать файл вручную, можно объединить компоненты, перечисленные в предыдущих разделах, в один файл. Однако рекомендуется использовать файлы, созданные секвенатором, а не файлы, созданные вручную.