О динамической конфигурации App-V 5.0

Назначение: Application Virtualization 5.0, Application Virtualization 5.0 SP1, Application Virtualization 5.0 SP2, Application Virtualization 5.0 SP3

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

При редактировании файла динамической конфигурации он настраивает, как пакет App-V 5.0 будет запускаться для пользователя или группы. Это более удобный метод настройки пакета. Вы можете изменить последовательность пакетов, используя нужные параметры, и сохранить содержимое пакета и настраиваемые параметры независимыми.

Дополнительно. Динамическая конфигурация

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

  • Файл конфигурации пользователя

  • Файл конфигурации развертывания

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

Примечание

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

Содержимое файла динамической конфигурации

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

XML-файл конфигурации пользователя

XML-файл конфигурации развертывания

Манифест пакета

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

В списке отображаются дополнительные сведения о типах этих двух файлов:

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

  • Файл конфигурации развертывания (DeploymentConfig) — позволяет задавать или изменять параметры пакета по умолчанию. Эти параметры будут применяться для всех пользователей при развертывании пакета на компьютере, на котором работает клиент App-V 5.0.

Чтобы настроить параметры пакета для определенного набора пользователей на компьютере или внести изменения, которые будут применяться к локальным расположениям пользователей, например HKCU, необходимо использовать файл UserConfig. Чтобы изменить параметры по умолчанию пакета для всех пользователей на компьютере или внести изменения, которые будут применяться к глобальным расположениям, таким как HKEY_LOCAL_MACHINE, и к папке всех пользователей, необходимо использовать файл DeploymentConfig.

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

  • Расширения, которые будут интегрированы в базовую систему на пользователя: ярлыки, сопоставления типов файлов, протоколы URL-адресов, AppPaths, клиенты ПО и COM.

  • Виртуальные подсистемы: объекты приложений, переменные среды, изменения реестра, службы и шрифты.

  • Скрипты (только в пользовательском контексте).

  • Центр управления (для управления сосуществованием пакета с App-V 4.6).

Файл DeploymentConfig предоставляет параметры конфигурации в двух разделах, один из которых относится к контексту компьютера, а другой — к контексту пользователя, обеспечивая те же возможности, перечисленные выше в списке для файла UserConfig.

  • Все параметры UserConfig, приведенные выше.

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

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

  • URL-адрес источника продукта.

  • Скрипты (только в машинном контексте).

  • Элементы управления для завершения дочерних процессов.

Структура файла

Структура файла динамической конфигурации App-V 5.0 рассматривается в следующем разделе.

Файл динамической конфигурации пользователя

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

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

PackageId — это то же значение, что и в файле манифеста.

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

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

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

    <Приложения>

    <!-- В политике нельзя определить новые приложения. Клиент AppV Client игнорирует ИД приложения, который отсутствует в файле манифеста -->

    <ИД приложения="{a56fa627-c35f-4a01-9e79-7d36aed8225a}" Enabled="false">

    </Приложение>

    </Приложения>

    </UserConfiguration>

  2. Подсистемы. Расширения приложений и другие подсистемы упорядочены в качестве подузлов в элементе <Подсистемы>:

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

    <Подсистемы>

    ..

    </Подсистемы>

    ..

    </UserConfiguration>

    Каждую подсистему можно включить или отключить с помощью атрибута Enabled. Далее приводятся разные подсистемы и примеры использования.

    Расширения.

    Некоторые подсистемы (подсистемы расширений) управляют расширениями. Это следующие подсистемы: ярлыки, сопоставления типов файлов, протоколы URL-адресов, AppPaths, клиенты ПО и COM.

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

    Далее приводится пример использования подсистемы ярлыков.

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

                                   <Ярлыки включены=true>

                                               <Расширения>

                                                ...

                                               </Расширения>

                                   </Ярлыки>

                        В этом случае контент в манифесте будет игнорироваться.

    2. Предположим, пользователь задает только следующее.

                                  <Ярлыки включены=true/>

                        В этом случае содержимое файла манифеста будет интегрироваться во время публикации.

    3. Предположим, пользователь задает следующее.

                                 <Ярлыки включены=true>

                                               <Расширения/>

                                   </Ярлыки>

    В этом случае все ярлыки в манифесте будут игнорироваться. Никакие ярлыки не будут интегрироваться.

    Далее приводятся поддерживаемые подсистемы расширений.

    Ярлыки. Эта подсистема управляет ярлыками, которые будут интегрированы в локальную систему. Далее приводится пример с двумя ярлыками.

    <Подсистемы>

    <Ярлыки включены=true>

      <Расширения>

        <Категория расширения=AppV.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>

            <Аргументы />

            <Рабочий каталог />

            <AppUserModelId>ContosoApp.Filler.3</AppUserModelId>

            <Описание>Заполните динамические формы для сбора и многократного использования данных в организации с помощью Microsoft ContosoApp.</Описание>

            <Hotkey>0</Hotkey>

            <ShowCommand>1</ShowCommand>

            <ApplicationId>[{PackageRoot}]\Contoso\ContosoApp.EXE</ApplicationId>

          </Ярлык>

      </Расширение>

      <Категория расширения=AppV.Shortcut>

        <Ярлык>

          <File>[{AppData}]\Microsoft\Contoso\Recent\Templates.LNK</File>

          <Target>[{AppData}]\Microsoft\Templates</Target>

          <Значок />

          <Аргументы />

          <Рабочий каталог />

          <AppUserModelId />

          <Описание />

          <Hotkey>0</Hotkey>

          <ShowCommand>1</ShowCommand>

          <!--Следует обратить внимание, что ИД приложения является необязательным параметром-->

        </Ярлык>

      </Расширение>

     </Расширения>

    </Ярлыки>

    Сопоставления типов файлов. Эта подсистема сопоставляет типы файлов с программами для их открытия по умолчанию, а также настраивает контекстное меню. (Типы MIME также можно настраивать с помощью этой подсистемы.) Далее приводится пример сопоставления типов файлов.

    <Сопоставления типов файлов включены=true>

    <Расширения>

      <Категория расширения=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>

            <Команда />

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

       </Расширение>

      </Расширения>

      </FileTypeAssociations>

    Протоколы URL-адресов. Эта подсистема управляет протоколами URL-адресов, интегрированными в локальный реестр клиентского компьютера, например mailto:.

    <URL-протоколы включены=true>

    <Расширения>

    <Категория расширения=AppV.URLProtocol>

    <URLProtocol>

      <Name>mailto</Name>

      <ApplicationURLProtocol>

      <DefaultIcon>[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE,-9403</DefaultIcon>

      <EditFlags>2</EditFlags>

      <Описание />

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

      </Расширение>

      </Расширение>

      </URLProtocols>

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

    <Программные клиенты включены=true>

      <Эл. почта конфигурации клиента включена=false/>

    </Программные клиенты>

    AppPaths. Если приложение, например contoso.exe, зарегистрировано с именем apppath "myapp", эта подсистема позволяет вводить "myapp" в меню "Выполнить", и это будет открывать приложение contoso.exe.

    <Пути к приложениям включены=true>

    <Расширения>

    <Категория расширения=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>

    </Расширение>

    </Расширения>

    </AppPaths>

    COM. Эта подсистема позволяет регистрировать локальные серверы COM. Может быть следующие режимы: "Интеграция", "Изолировано" или "Выкл." При Isol.

    <Режим COM=Isolated/>

    Прочие параметры.

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

    Виртуальные объекты ядра:

    <Объекты включены=false/>

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

    <Реестр включен=true>

    <Включить>

    <Путь к разделу=\REGISTRY\USER\[{AppVCurrentUserSID}]\Software\ABC>

    <Тип значения=REG_SZ Name=Bar Data=NewValue/>

     </Раздел>

      <Путь к разделу=\REGISTRY\USER\[{AppVCurrentUserSID}]\Software\EmptyKey/>

     </Включить>

    <Удалить>

      </Реестр>

    Виртуальная файловая система.

          <Файловая система включена="true" />

    Виртуальные шрифты.

          <Шрифты включены=false/>

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

    <Переменные среды включены=true>

    <Включить>

           <Имя переменной=UserPath Value="%path%;%UserProfile%" />

           <Имя переменной=UserLib Value=%UserProfile%\ABC />

           </Включить>

          <Удалить>

           <Имя переменной=lib />

            </Удалить>

            </Переменные среды>

    Виртуальные службы.

          <Службы включены=false/>

  3. Пользовательские скрипты. Скрипты могут использоваться для установки или изменения виртуальной среды, а также в качестве скриптов выполнения во время развертывания или удаления, до выполнения приложения, или они могут использоваться для "очистки" среды после завершения приложения. Пример скрипта см. в демонстрационном файле конфигурации, полученном из приложения Sequencer. В разделе "Скрипты" ниже содержатся дополнительные сведения о разных триггерах, которые могут использоваться.

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

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

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

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

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

PackageId — это то же значение, что и в файле манифеста.

Body — основной текст файла динамической конфигурации развертывания включает два следующих раздела.

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

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

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

<UserConfiguration>

  ..

</UserConfiguration>

<MachineConfiguration>

..

</MachineConfiguration>

..

</MachineConfiguration>

</ DeploymentConfiguration>

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

Конфигурация машины — раздел конфигурации машины файла конфигурации развертывания используется для конфигурационных сведений, которые могут быть установлены только для всей машины, а не для конкретного пользователя на этом компьютере. Например, разделы реестра HKEY_LOCAL_MACHINE в виртуальном реестре. В этом элементе могут находиться четыре подраздела.

  1. Подсистемы. Расширения приложений и другие подсистемы упорядочены в качестве подузлов в элементе <Подсистемы>:

    <MachineConfiguration>

      <Подсистемы>

      ..

      </Подсистемы>

    ..

    </MachineConfiguration>

    В следующем разделе показаны разные подсистемы и примеры использования.

    Расширения.

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

    Возможности приложения. Это расширение используется программами по умолчанию в интерфейсе операционной системы Windows. Позволяет приложению регистрировать себя в качестве приложения, способного открывать файлы с определенными расширениями, в качестве претендента на ячейку интернет-браузера в меню "Пуск", в качестве приложения, способного открывать разные типы MIME Windows.  Это расширение также делает виртуальное приложение видимым в пользовательском интерфейсе выбора программ по умолчанию.

    <ApplicationCapabilities включено=true>

      <Расширения>

       <Категория расширения=AppV.ApplicationCapabilities>

        <ApplicationCapabilities>

         <ИД_приложения>[{PackageRoot}]\LitView\LitViewBrowser.exe</ApplicationId>

         <Ссылка>

          <Имя>браузер LitView</Name>

          <Путь>SOFTWARE\LitView\Browser\Capabilities</Path>

         </Reference>

       <CapabilityGroup>

        <Возможности>

         <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 = .htm ProgID=LitViewHTML/>

          <Расширение FileAssociation = .html ProgID=LitViewHTML/>

          <Расширение FileAssociation = .shtml" ProgID=LitViewHTML/>

         </FileAssociationList>

         <MIMEAssociationList>

          <Тип MIMEAssociation = audio/mp3 ProgID=LitViewHTML/>

          <Тип MIMEAssociation = "audio/mpeg" ProgID="LitViewHTML" />

         </MIMEAssociationList>

        <URLAssociationList>

          <Схема URLAssociation = "http" ProgID="LitViewHTML.URL.http" />

         </URLAssociationList>

         </Capabilities>

      </CapabilityGroup>

       </ApplicationCapabilities>

      </Расширение>

    </Расширения>

    </ApplicationCapabilities>

    Прочие параметры.

    Помимо расширений, можно изменять другие подсистемы.

    Виртуальный реестр машины: используется, если требуется установить раздел реестра в виртуальном реестре в HKEY_Local_Machine.

    <Реестр>

    <Включить>

      <Путь к разделу=\REGISTRY\Machine\Software\ABC>

        <Тип значения="REG_SZ" Name="Bar" Data="Baz" /"REG_SZ" Name="Bar" Data="Baz" />

       </Раздел>

      <Путь к разделу=\REGISTRY\Machine\Software\EmptyKey/>

     </Включить>

    <Удалить>

    </Реестр>

    Виртуальные объекты ядра в машине

    <Объекты>

    <NotIsolate>

       <Имя объекта = testObject />

     </NotIsolate>

    </Objects>

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

    <MachineConfiguration>

      .. 

      <ProductSourceURLOptOut Enabled="true" />

      ..

    </MachineConfiguration>

  3. MachineScripts — пакет может быть настроен для выполнения скриптов во время развертывания, публикации или удаления. Пример скрипта см. в демонстрационном файле конфигурации развертывания, созданном приложением Sequencer. В разделе "Скрипты" ниже содержатся дополнительные сведения о разных триггерах, которые могут использоваться.

  4. TerminateChildProcess: можно указать исполняемый файл приложения, чьи дочерние процессы будут завершаться при завершении процесса выполнения приложения.

    <MachineConfiguration>

      ..   

      <TerminateChildProcesses>

        <Путь к приложению = "[{PackageRoot}]\Contoso\ContosoApp.EXE" />

        <Путь к приложению = "[{PackageRoot}]\LitView\LitViewBrowser.exe" />

        <Путь к приложению = "[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE" />

      </TerminateChildProcesses>

      ..

    </MachineConfiguration>

Скрипты

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

Время выполнения скрипта Может задаваться в конфигурации развертывания Может задаваться в конфигурации пользователя Может выполняться в виртуальной среде пакета Может выполняться в контексте конкретного приложения Выполняется в контексте системы/пользователя: (конфигурация развертывания, конфигурация пользователя)

AddPackage

X

(СИСТЕМА, Н/Д)

PublishPackage

X

X

(СИСТЕМА, пользователь)

UnpublishPackage

X

X

(СИСТЕМА, пользователь)

RemovePackage

X

(СИСТЕМА, Н/Д)

StartProcess

X

X

X

X

(Пользователь, пользователь)

ExitProcess

X

X

X

(Пользователь, пользователь)

StartVirtualEnvironment

X

X

X

(Пользователь, пользователь)

TerminateVirtualEnvironment

X

X

(Пользователь, пользователь)

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

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

Дополнительные сведения о создании этого файла с помощью консоли управления App-V 5.0 см. в разделе Создание пользовательского файла конфигурации с помощью консоли управления App-V 5.0.

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

Есть предложение для App-V?

Выдвигайте предложения и голосуйте за них здесь. Ответы на вопросы, возникающие при работе с App-V, можно найти на форуме TechNet по App-V.

См. также

Задачи

Применение файла конфигурации развертывания с помощью PowerShell
Применение файла конфигурации пользователя с помощью PowerShell

Другие ресурсы

Операции для App-V 5.0

-----
Дополнительные сведения о MDOP можно найти в библиотеке TechNet, статьях по устранению неполадок на вики-сайте TechNet или подписавшись на новости в Facebook или Twitter.
-----