Share via


App-V 5.1 동적 구성 정보

업데이트 날짜: 2015년 8월

적용 대상: Application Virtualization 5.1

동적 구성을 사용하여 특정 사용자에 맞춰 App-V 5.1 패키지를 사용자 지정할 수 있습니다. 다음 정보를 사용하여 기존 동적 구성 파일을 만들거나 편집할 수 있습니다.

동적 구성 파일을 편집하면, 사용자나 그룹에 대해 App-V 5.1 패키지가 실행되는 방법이 사용자 지정됩니다. 그러면 원하는 설정을 사용하여 패키지를 다시 시퀀싱할 필요가 없으므로 패키지 사용자 지정을 위한 보다 편리한 방법을 제공할 수 있으며, 패키지 콘텐츠 및 사용자 지정 설정을 독립적으로 유지할 수 있습니다.

고급: 동적 구성

가상 응용 프로그램 패키지는 패키지에 대한 모든 핵심 정보를 제공하는 매니페스트를 포함합니다. 이 정보는 패키지 설정에 대한 기본값을 포함하며, 추가 사용자 지정이 없는 가장 기본적인 형식의 설정을 결정합니다. 특정 사용자 또는 그룹에 대해 이러한 기본값을 조정하려는 경우 다음 파일을 만들고 편집할 수 있습니다.

  • 사용자 구성 파일

  • 배포 구성 파일

위의 .xml 파일은 패키지 설정을 지정하며 패키지에 직접 영향을 주지 않고 패키지를 사용자 지정할 수 있도록 합니다. 패키지를 만들 때 Sequencer는 패키지 매니페스트 데이터를 사용하여 기본 배포 및 사용자 구성 .xml 파일을 자동으로 생성합니다. 따라서 이처럼 자동으로 생성되는 구성 파일은 시퀀싱 중에 항목을 구성한 방법에 따른 패키지의 기본 설정만을 반영합니다. Sequencer에서 생성되는 형식으로 패키지에 이러한 구성 파일을 적용하는 경우 패키지는 매니페스트에서 제공된 것과 같은 기본 설정을 포함합니다. 따라서 기본값을 변경해야 하는 경우 시작할 수 있는 패키지별 템플릿이 제공됩니다.

참고

다음 정보는 특정 사용자 또는 그룹 요구 사항을 충족하도록 패키지를 사용자 지정하기 위해 Sequencer에서 생성한 구성 파일을 수정하려는 경우에만 사용할 수 있습니다.

동적 구성 파일 내용

구성 파일에 대한 모든 추가, 삭제 및 업데이트는 패키지 매니페스트 정보에 의해 지정되는 기본값을 기준으로 수행해야 합니다. 다음 테이블을 검토하세요.

사용자 구성 .xml 파일

배포 구성 .xml 파일

패키지 매니페스트

위의 테이블에는 파일을 읽는 방법이 나와 있습니다. 첫 번째 항목은 마지막으로 읽는 항목을 나타냅니다. 즉, 해당 내용이 우선적으로 적용됩니다. 따라서 모든 패키지는 기본적으로 패키지 매니페스트의 기본 설정을 포함하고 제공합니다. 사용자 지정된 설정을 포함하는 배포 구성 .xml 파일을 적용하는 경우 패키지 매니페스트 기본값이 재정의됩니다. 그 전에 사용자 지정된 설정을 포함하는 사용자 구성 .xml 파일을 적용하면 배포 구성 및 패키지 매니페스트 기본값이 모두 재정의됩니다.

다음 목록에는 두 파일 형식에 대한 자세한 내용이 나와 있습니다.

  • 사용자 구성 파일(UserConfig) - 패키지의 사용자 지정 설정을 지정하거나 수정할 수 있습니다. 패키지가 App-V 5.1 Client를 실행하는 컴퓨터에 배포될 때 이러한 설정이 특정 사용자에 대해 적용됩니다.

  • 배포 구성 파일(DeploymentConfig) - 패키지의 기본 설정을 지정하거나 수정할 수 있습니다. 패키지가 App-V 5.1 Client를 실행하는 컴퓨터에 배포될 때 이러한 설정이 모든 사용자에 대해 적용됩니다.

컴퓨터의 특정 사용자 집합에 대한 패키지의 설정을 사용자 지정하거나 로컬 사용자 위치(예: HKCU)에 적용할 내용을 변경하려면 UserConfig 파일을 사용해야 합니다. 컴퓨터의 모든 사용자에 대한 패키지의 기본 설정을 수정하거나 전역 위치(예: HKEY_LOCAL_MACHINE) 및 모든 사용자 폴더에 적용할 내용을 변경하려면 DeploymentConfig 파일을 사용해야 합니다.

UserConfig 파일은 클라이언트의 다른 사용자에게 영향을 주지 않으면서 단일 사용자에게 적용할 수 있는 다음과 같은 구성 설정을 제공합니다.

  • 사용자별 네이티브 시스템에 통합되는 확장 - 바로 가기, 파일 형식 연결, URL 프로토콜, AppPaths, 소프트웨어 클라이언트 및 COM

  • 가상 하위 시스템 - 응용 프로그램 개체, 환경 변수, 레지스트리 수정, 서비스 및 글꼴

  • 스크립트(사용자 컨텍스트만 해당)

  • 권한 관리(App-V 4.6 패키지의 공존 제어)

DeploymentConfig 파일은 두 개 섹션에서 다음과 같은 구성 설정을 제공합니다. 그중 하나는 컴퓨터 컨텍스트와 관련되고 다른 하나는 위의 UserConfig 목록에 나와 있는 것과 동일한 기능을 제공하는 사용자 컨텍스트와 관련됩니다.

  • 위의 모든 UserConfig 설정

  • 모든 사용자에 대해서만 전역으로 적용할 수 있는 확장

  • 전역 컴퓨터 위치(예: 레지스트리)에 대해 구성할 수 있는 가상 하위 시스템

  • 제품 원본 URL

  • 스크립트(컴퓨터 컨텍스트만 해당)

  • 자식 프로세스를 종료하는 컨트롤

파일 구조

App-V 5.1 동적 구성 파일의 구조는 아래의 섹션에서 설명합니다.

동적 사용자 구성 파일

헤더 - 동적 사용자 구성 파일의 헤더는 다음과 같습니다.

<?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는 매니페스트 파일에 있는 것과 동일한 값입니다.

본문 - 동적 사용자 구성 파일의 본문에는 매니페스트 파일에 정의된 모든 앱 확장 지점뿐 아니라 가상 응용 프로그램을 구성하는 정보도 포함될 수 있습니다. 본문에는 4개 하위 섹션이 허용됩니다.

  1. 응용 프로그램 - 패키지 내의 매니페스트 파일에 포함된 모든 앱 확장에는 응용 프로그램 ID가 할당되며, 이 응용 프로그램 ID는 매니페스트 파일에도 정의되어 있습니다. 따라서 패키지 내의 지정된 응용 프로그램에 대한 모든 확장을 사용하거나 사용하지 않도록 설정할 수 있습니다. 응용 프로그램 ID는 매니페스트 파일에 존재해야 하며, 그렇지 않으면 무시됩니다.

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

    <Applications>

    <!-- 정책에서 새 응용 프로그램을 정의할 수 없습니다. AppV Client는 매니페스트 파일에 없는 응용 프로그램 ID를 무시합니다. -->

    <Application Id="{a56fa627-c35f-4a01-9e79-7d36aed8225a}" Enabled="false">

    </Application>

    </Applications>

    </UserConfiguration>

  2. Subsystems - AppExtensions 및 기타 하위 시스템은 <Subsystems> 아래의 하위 노드로 정렬됩니다.

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

    <Subsystems>

    ..

    </Subsystems>

    ..

    </UserConfiguration>

    "Enabled" 특성을 사용하여 각 하위 시스템을 사용하거나 사용하지 않도록 설정할 수 있습니다. 다음은 다양한 하위 시스템 및 사용법 샘플입니다.

    확장:

    일부 하위 시스템(확장 하위 시스템)이 확장을 제어합니다. 이러한 하위 시스템은 바로 가기, 파일 형식 연결, URL 프로토콜, AppPaths, 소프트웨어 클라이언트 및 COM입니다.

    확장 하위 시스템은 내용과 상관없이 사용하거나 사용하지 않도록 설정할 수 있습니다. 따라서 바로 가기를 사용하도록 설정하는 경우 클라이언트에서 기본적으로 매니페스트에 포함된 바로 가기를 사용합니다. 각 확장 하위 시스템은 <Extensions> 노드를 포함할 수 있습니다. 이 자식 요소가 있는 경우 클라이언트는 해당 하위 시스템에 대한 매니페스트 파일의 내용을 무시하고 구성 파일의 내용만 사용합니다.

    바로 가기 하위 시스템을 사용하는 예:

    1. 사용자가 동적 또는 배포 구성 파일에서 바로 가기 하위 시스템을 정의한 경우:

                                   <Shortcuts  Enabled="true">

                                               <Extensions>

                                                ...

                                               </Extensions>

                                   </Shortcuts>

                        매니페스트의 내용이 무시됩니다.   

    2. 사용자가 다음만 정의한 경우:

                                  <Shortcuts  Enabled="true"/>

                        그러면 매니페스트의 내용이 게시 중 통합됩니다.

    3. 사용자가 다음을 정의하는 경우:

                                 <Shortcuts  Enabled="true">

                                               <Extensions/>

                                   </Shortcuts>

    그러면 매니페스트의 모든 바로 가기가 무시됩니다. 통합된 바로 가기가 없습니다.

    지원되는 확장 하위 시스템은 다음과 같습니다.

    바로 가기: 로컬 시스템으로 통합되는 바로 가기를 제어합니다. 다음은 2개의 바로 가기가 포함된 샘플입니다.

    <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>동적 양식을 채워서 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>

          <!-- Applicationid는 선택 항목이라는 점에 주의 -->

        </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-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"의 apppath 이름으로 등록되는 경우 실행 메뉴에 "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>

    <삭제>

      </Registry>

    가상 파일 시스템

          <FileSystem Enabled="true" />

    가상 글꼴

          <Fonts Enabled="false" />

    가상 환경 변수

    <EnvironmentVariables Enabled="true">

    <Include>

           <Variable Name="UserPath" Value="%path%;%UserProfile%" />

           <Variable Name="UserLib" Value="%UserProfile%\ABC" />

           </Include>

          <삭제>

           <Variable Name="lib" />

            </Delete>

            </EnvironmentVariables>

    가상 서비스

          <Services Enabled="false" />

  3. UserScripts - 스크립트는 응용 프로그램을 실행하기 전에 가상 환경을 설정하거나 변경하고, 배포 또는 제거 시 스크립트를 실행하는 데 사용하거나 응용 프로그램이 종료된 후 환경을 "정리"하는 데 사용할 수 있습니다. Sequencer에서 출력하는 샘플 사용자 구성 파일을 참조하여 샘플 스크립트를 확인하십시오. 아래의 스크립트 섹션에서는 사용할 수 있는 다양한 트리거에 대한 자세한 정보를 제공합니다.

  4. ManagingAuthority - 2가지 버전의 패키지(App-V 4.6에 배포된 패키지와 App-V 5.0에 배포된 패키지)가 동일한 컴퓨터에 공존하는 경우 사용할 수 있습니다. App-V vNext가 이름 지정된 패키지의 App-V 4.6 확장 지점보다 우선하도록 지정하려면 UserConfig 파일에 다음을 입력하십시오. 여기서 PackageName은 App-V 4.6의 패키지 GUID입니다.

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

동적 배포 구성 파일

헤더 - 배포 구성 파일의 헤더는 다음과 같습니다.

<?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는 매니페스트 파일에 있는 것과 동일한 값입니다.

본문 - 배포 구성 파일의 본문에는 다음과 같은 두 개의 섹션이 포함됩니다.

  • 사용자 구성 섹션 - 위의 섹션에 설명된 사용자 구성 파일과 동일한 내용을 지원합니다. 패키지가 사용자에게 게시될 때 사용자 구성 파일도 제공되어 있지 않는 한 이 섹션의 모든 앱 확장 구성 설정이 패키지에 있는 매니페스트의 해당 설정을 재정의합니다. UserConfig 파일도 제공되어 있는 경우 이 파일이 배포 구성 파일의 사용자 설정 대신 사용됩니다. 패키지가 전역으로 게시되는 경우 배포 구성 파일의 내용만 매니페스트와 함께 사용됩니다.

  • 컴퓨터 구성 섹션 – 컴퓨터의 특정 사용자가 아닌 전체 컴퓨터에 대해서만 구성할 수 있는 정보를 포함합니다. 예를 들면 VFS의 HKEY_LOCAL_MACHINE 레지스트리 키가 있습니다.

<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 레지스트리 키가 있습니다. 이 요소 아래에는 4가지의 하위 섹션이 허용됩니다.

  1. Subsystems - AppExtensions 및 기타 하위 시스템은 <Subsystems> 아래의 하위 노드로 제공됩니다.

    <MachineConfiguration>

      <Subsystems>

      ..

      </Subsystems>

    ..

    </MachineConfiguration>

    아래의 섹션에서는 다양한 하위 시스템 및 사용법 샘플을 보여 줍니다.

    확장:

    일부 하위 시스템(확장 하위 시스템)은 모든 사용자에게만 적용할 수 있는 확장을 제어합니다. 하위 시스템은 응용 프로그램 기능입니다. 모든 사용자에게만 적용할 수 있으므로, 이 유형의 확장을 로컬 시스템으로 통합하려면 패키지를 전역으로 게시해야 합니다. 사용자 구성의 확장에 적용되는 컨트롤 및 설정에 대한 동일한 규칙이 MachineConfiguration 섹션의 컨트롤 및 설정에도 적용됩니다.

    응용 프로그램 기능: 기본적으로 Windows 운영 체제 프로그램 인터페이스에 사용됩니다. 응용 프로그램이 특정 파일 확장명을 열 수 있는 것으로, 특정 Windows MIME 형식을 열 수 있는 것으로, 시작 메뉴 인터넷 브라우저 슬롯의 후보자로 자체 등록할 수 있습니다. 또한 이 확장을 통해 가상 응용 프로그램이 기본 프로그램 설정 UI에 표시됩니다.

    <ApplicationCapabilities Enabled="true">

      <Extensions>

       <Extension Category="AppV.ApplicationCapabilities">

        <ApplicationCapabilities>

         <ApplicationId>[{PackageRoot}]\LitView\LitViewBrowser.exe</ApplicationId>

         <참조>

          <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에서 레지스트리 키를 설정하려는 경우 사용됩니다.

    <레지스트리>

    <Include>

      <Key Path="\REGISTRY\Machine\Software\ABC">

        <Value Type="REG_SZ" Name="Bar" Data="Baz" />

       </Key>

      <Key Path="\REGISTRY\Machine\Software\EmptyKey" />

     </Include>

    <삭제>

    </Registry>

    컴퓨터 전체 가상 커널 개체

    <Objects>

    <NotIsolate>

       <Object Name="testObject" />

     </NotIsolate>

    </Objects>

  2. ProductSourceURLOptOut: 지점 시나리오를 지원하기 위해 PackageSourceRoot를 통해 전역으로 패키지의 URL을 수정할 수 있는지 여부를 나타냅니다. 기본값은 False이고 설정 변경 내용은 다음 시작 시 적용됩니다.  

    <MachineConfiguration>

      .. 

      <ProductSourceURLOptOut Enabled="true" />

      ..

    </MachineConfiguration>

  3. MachineScripts – 배포, 게시 또는 제거 시 스크립트를 실행하도록 패키지를 구성할 수 있습니다. Sequencer에서 생성하는 샘플 배포 구성 파일을 참조하여 샘플 스크립트를 확인하십시오. 아래의 스크립트 섹션에서는 사용할 수 있는 다양한 트리거에 대한 자세한 정보를 제공합니다.

  4. TerminateChildProcess - 응용 프로그램 실행 프로세스가 종료될 때 그 자식 프로세스를 종료할 응용 프로그램 실행 파일을 지정할 수 있습니다.

    <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

(시스템, 해당 없음)

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

패키지 추가/게시 등 스크립트를 실행하려는 이벤트 트리거의 이름입니다.

<Path>ScriptRunner.exe</Path>

App-V 클라이언트 설치의 일부로 설치되는 스크립트 시작 관리자 응용 프로그램입니다.

참고

ScriptRunner.exe는 App-V 클라이언트의 일부로 설치되지만 App-V 클라이언트의 위치는 %path%여야 합니다. 그렇지 않으면 ScriptRunner가 실행되지 않습니다. ScriptRunner.exe는 보통 C:\Program Files\Microsoft Application Virtualization\Client 폴더에 있습니다.

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

-appvscript - 실행하려는 실제 스크립트를 나타내는 토큰입니다.

script1.exe – 실행하려는 스크립트의 이름입니다.

arg1 arg2–- 실행하려는 스크립트에 대한 인수입니다.

-appvscriptrunnerparametersscript1.exe에 대한 실행 옵션을 나타내는 토큰입니다.

-wait – 다음 스크립트로 진행하기 전에 script1.exe 실행이 완료될 때까지 기다리도록 ScriptRunner에 알리는 토큰입니다.

-timeout=xx초 후에 현재 스크립트 실행을 중지하도록 ScriptRunner에 알리는 토큰입니다. 지정된 기타 모든 스크립트는 계속 실행됩니다.

-rollbackonerror – 아직 실행되지 않은 모든 스크립트의 실행을 중지하고 App-V 클라이언트에 오류를 롤백하도록 ScriptRunner에 알리는 토큰입니다.

<Wait timeout=”40” RollbackOnError=”true”/>

ScriptRunner.exe가 완전히 완료될 때까지 기다립니다.

전체 Runner의 시간 제한 값을 개별 스크립트에 대한 시간 제한 값의 합 이상으로 설정합니다.

개별 스크립트가 오류를 보고한 경우 rollbackonerror가 true로 설정되어 있으면 ScriptRunner는 App-V 클라이언트에 오류를 보고합니다.

ScriptRunner가 컴퓨터에 설치된 응용 프로그램에 연결된 파일 형식의 모든 스크립트를 실행합니다. 연결된 응용 프로그램이 없거나 파일 형식이 컴퓨터의 응용 프로그램에 연결되어 있지 않은 스크립트는 실행되지 않습니다.

App-V 5.1 매니페스트 파일을 사용하여 동적 구성 파일 만들기

동적 구성 파일을 만들 수 있는 방법은 3가지로, 수동으로 만들거나, App-V 5.1 Management Console을 사용하여 만들거나, 패키지를 시퀀싱(2개의 샘플 파일로 생성됨)하여 만들 수 있습니다.

App-V 5.1 Management Console을 사용하여 파일을 만드는 방법에 대한 자세한 내용은 App-V 5.1 관리 콘솔을 사용하여 사용자 지정 구성 파일을 만드는 방법을 참조하십시오.

파일을 수동으로 만들기 위해 이전 섹션에 있는 위의 정보를 단일 파일로 결합할 수 있습니다. Sequencer에서 생성된 파일을 사용하는 것이 좋습니다.

App-V에 대한 제안 사항이 있으신가요?

여기에서 제안 사항을 추가하거나 투표해 보세요. App-V 문제가 있는 경우 App-V TechNet 포럼을 사용하세요.

참고 항목

태스크

PowerShell을 사용하여 배포 구성 파일을 적용하는 방법
PowerShell을 사용하여 사용자 구성 파일을 적용하는 방법

기타 리소스

App-V 5.1에 대한 작업

-----
TechNet 라이브러리에서 MDOP에 대해 자세히 알아보거나 TechNet 위키에서 문제 해결을 검색하거나 Facebook 또는 Twitter에서 Microsoft를 팔로우할 수 있습니다.
-----