App-V 5.1 の動的構成について

適用対象: Application Virtualization 5.1

動的な構成を使用して、ユーザー向けに App-V 5.1 パッケージをカスタマイズできます。次の手順に従って、動的構成ファイルを作成するか、既存の動的構成ファイルを編集します。

動的構成ファイルを編集すると、ユーザーまたはグループに対して App-V 5.1 パッケージをどのように実行するかをカスタマイズできます。目的の設定を使用するパッケージを再シーケンスする必要がなくなるためパッケージをより簡単にカスタマイズできることに加え、パッケージの内容とカスタム設定の独立性を保つことができます。

詳細設定:動的構成

仮想アプリケーション パッケージには、パッケージのすべての主要な情報を提供するマニフェストが含まれます。この情報はパッケージの設定の既定値を含み、(追加のカスタマイズを含まない) 最も基本的な形式で設定を決定します。これらの既定値を特定のユーザーまたはグループ用に調整する場合は、次のファイルを作成して編集することができます。

  • ユーザー構成ファイル

  • 展開構成ファイル

以前の .xml ファイルでは、パッケージの設定を指定し、パッケージに直接影響を与えることなくパッケージをカスタマイズできます。パッケージを作成すると、Sequencer が、パッケージ マニフェスト データを使用して、既定の展開とユーザー構成 .xml ファイルを自動的に生成します。したがって、これらの自動生成される構成ファイルは、シーケンス処理中に構成された内容に基づいてパッケージに本質的に適用される既定の設定を単に反映するのみです。これらの構成ファイルを Sequencer で作成した形式でパッケージに適用した場合、パッケージはマニフェストと同じ既定の設定を持つことになります。既定の設定のいずれかを変更する必要がある場合は、パッケージに固有のテンプレートを使用することになります。

注意

次の情報は、特定のユーザーまたはグループの要件を満たすために Sequencer によって生成された構成ファイルを変更してパッケージをカスタマイズする目的にのみ使用できます。

動的な構成ファイルの内容

構成ファイルにおけるすべての追加、削除、および更新操作は、パッケージのマニフェスト情報で指定された既定値に対して行う必要があります。次の表をご確認ください。

ユーザー構成 .xml ファイル

展開構成 .xml ファイル

パッケージ マニフェスト

前の表は、ファイルがどのように読み取られるかを表しています。最初のエントリは最後に読み取られる項目、つまり内容が優先される項目を表しています。最初に、すべてのパッケージは、本質的にパッケージ マニフェストの既定の設定を含み、これを提供します。設定がカスタマイズされた展開構成 .xml ファイルが適用されると、パッケージ マニフェストの既定値が上書きされます。それ以前に設定がカスタマイズされたユーザー構成 .xml ファイルが適用された場合、展開構成とパッケージ マニフェストの両方の既定値が上書きされます。

次の一覧に、2 つのファイルの種類について詳しく示します。

  • ユーザー構成ファイル (UserConfig) – パッケージのカスタム設定を指定または変更できます。App-V 5.1 クライアントを実行しているコンピューターにパッケージが展開されると、これらの設定は特定のユーザーに適用されます。

  • 展開構成ファイル (DeploymentConfig) – パッケージの既定の設定を指定または変更できます。App-V 5.1 クライアントを実行しているコンピューターにパッケージが展開されると、これらの設定はすべてのユーザーに適用されます。

コンピューターの特定のユーザー セット向けにパッケージの設定をカスタマイズする場合、あるいは HKCU などのローカル ユーザーの場所に適用される変更を行う場合は、UserConfig ファイルを使用してください。コンピューターのすべてのユーザーに対するパッケージの既定の設定を変更する場合、あるいは HKEY_LOCAL_MACHINE やすべてのユーザー フォルダーなどのグローバルの場所に適用される変更を行う場合は、DeploymentConfig ファイルを使用してください。

UserConfig ファイルは、クライアントの他のユーザーに影響を与えることなく、単一のユーザーに適用することが可能な構成設定を指定します。

  • ユーザーごとにネイティブ システムに統合される拡張機能 - ショートカット、ファイルの種類の関連付け、URL プロトコル、AppPath、ソフトウェア クライアント、および COM

  • 仮想サブシステム - アプリケーション オブジェクト、環境変数、レジストリの変更、サービス、およびフォント

  • スクリプト (ユーザー コンテキストのみ)

  • 権限の管理 (パッケージと App-V 4.6 の共存の制御に用いる権限)

DeploymentConfig ファイルの構成設定は 2 つのセクションに分かれています。1 つはコンピューターのコンテキストに関するもので、もう 1 つは前述の UserConfig 一覧と同じ機能を持つユーザー コンテキストに関するものです。

  • 前述の UserConfig 設定のすべて

  • すべてのユーザーにグローバルでのみ適用できる拡張機能

  • コンピューターの場所に対してグローバルに構成できる仮想サブシステム。例: レジストリ

  • 製品ソース URL

  • スクリプト (コンピューター コンテキストのみ)

  • 子プロセス終了の制御

ファイル構造

App-V 5.1 の動的な構成ファイルの構造を次のセクションで説明します。

動的なユーザー構成ファイル

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 - 動的なユーザー構成ファイルの Body には、マニフェスト ファイルに定義されているすべてのアプリケーション拡張ポイントと、仮想アプリケーションを構成する情報を含めることができます。Body には次の 4 つのサブセクションがあります。

  1. Applications - パッケージ内のマニフェスト ファイルに含まれているすべてのアプリケーション拡張機能には、Application ID が割り当てられています。Application ID はマニフェスト ファイルでも定義されます。これにより、パッケージ内の特定のアプリケーションに対して、すべての拡張機能を有効または無効にできます。Application ID はマニフェスト ファイルに存在する必要があります。存在しない場合、ID は無視されます。

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

    <Applications>

    <!-- ポリシーには新しいアプリケーションを定義できません。App-V クライアントは、Application ID がマニフェスト ファイルにもない場合、この ID を無視します-->

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

    </Application>

    </Applications>

    </UserConfiguration>

  2. Subsystems - アプリケーション拡張機能とその他のサブシステムは、<Subsystems> の下にサブノードとして配置されます。

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

    <Subsystems>

    ..

    </Subsystems>

    ..

    </UserConfiguration>

    各サブシステムは「Enabled」属性を使用して、有効/無効にできます。さまざまなサブシステムと使用方法の例を次に示します。

    Extensions:

    一部のサブシステム (拡張機能サブシステム) は拡張機能を制御します。該当するサブシステムは、ショートカット、ファイルの種類の関連付け、URL プロトコル、AppPath、ソフトウェア クライアント、および COM です。

    拡張機能サブシステムは、コンテンツとは独立して有効または無効にできます。ショートカットが有効になっているなら、クライアントはマニフェストに含まれているショートカットを既定で使用します。各拡張機能サブシステムには、<Extensions> ノードを含めることができます。この子要素が存在する場合、クライアントは、そのサブシステムのマニフェスト ファイルのコンテンツを無視し、構成ファイルのコンテンツだけを使用します。

    ショートカット サブシステムを使用する例は次のとおりです。

    1. ユーザーが、動的または展開構成ファイルで次の定義をしている場合:

                                   <Shortcuts  Enabled="true">

                                               <Extensions>

                                                ...

                                               </Extensions>

                                   </Shortcuts>

                        マニフェストのコンテンツは無視されます。   

    2. ユーザーが次の項目だけを定義している場合:

                                  <Shortcuts  Enabled="true"/>

                        マニフェストのコンテンツは公開時に統合されます。

    3. ユーザーが次の項目を定義している場合:

                                 <Shortcuts  Enabled="true">

                                               <Extensions/>

                                   </Shortcuts>

    マニフェストのすべてのショートカットが無視されます。統合されるショートカットはありません。

    サポートされる拡張機能サブシステムは次のとおりです。

    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>

          <!-- メモ: Application ID はオプションです -->

        </Shortcut>

      </Extension>

     </Extensions>

    </Shortcuts>

    File-Type Associations: ファイルの種類と既定で開くプログラムを関連付けて、コンテキスト メニューをセットアップします (このサブシステムを使用して、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 Protocols:クライアント コンピューターのローカル レジストリに統合される 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>

    Software Clients:電子メール クライアント、ニュース リーダー、メディア プレーヤーとしてアプリケーションを登録し、[プログラムのアクセスとコンピューターの既定の設定] に表示されるようにします。ほとんどの場合、この項目は有効か無効にするだけです。他のクライアントを有効にしたまま、特定の電子メール クライアントだけを有効または無効にするコントロールもあります。

    <SoftwareClients Enabled="true">

      <ClientConfiguration EmailEnabled="false" />

    </SoftwareClients>

    AppPaths:- アプリケーション (contoso.exe など) が AppPath 名 “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 サーバーを登録できます。モードは、Integration、Isolated、Off のいずれかです。Isolated の場合は次のようになります。

    <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 つのバージョンのパッケージが共存している (1 つは App-V 4.6 に展開され、もう 1 つは App-V 5.0 に展開されている) 場合に使用できます。指定したパッケージの App-V 4.6 拡張ポイントを App-V vNext で継承するには、次のスクリプトを UserConfig ファイルに入力します (PackageName は App-V 4.6 のパッケージ GUID)。

    <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 - 展開構成ファイルの Body には、次の 2 つのセクションが含まれます。

  • ユーザー構成セクション - 前のセクションで説明したユーザー構成ファイルと同じコンテンツを含めることができます。パッケージをユーザーに公開する際、ユーザー構成ファイルが指定されていない場合、このセクションにあるアプリケーション拡張機能の構成設定が、パッケージ内のマニフェスト ファイルの対応する設定を上書きします。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>

User Configuration - 展開構成ファイルのユーザー構成セクションで使用できる設定については、前述の「動的なユーザー構成ファイル」のセクションをご覧ください。

コンピュータ構成 - 展開構成ファイルのコンピュータ構成セクションは、コンピューターの特定のユーザーではなく、コンピューター全体に設定できる情報の構成にのみ使用します。たとえば、仮想レジストリの HKEY_LOCAL_MACHINE レジストリ キーです。この要素の詳しく説明します。

  1. Subsystems - アプリケーション拡張機能とその他のサブシステムは、<Subsystems> の下にサブノードとして配置されます。

    <MachineConfiguration>

      <Subsystems>

      ..

      </Subsystems>

    ..

    </MachineConfiguration>

    次のセクションは、さまざまなサブシステムと使用方法のサンプルを示しています。

    Extensions:

    一部のサブシステム (拡張機能サブシステム) は、すべてのユーザーにのみ適用できる拡張機能を制御します。サブシステムはアプリケーション機能です。すべてのユーザーにのみ適用できるため、この種類の拡張機能をローカル システムに統合するには、パッケージをグローバルに公開する必要があります。ユーザー構成セクションの Extensions に適用される制御および設定と同じ規則が、コンピュータ構成セクションの制御と設定にも当てはまります。

    Application Capabilities:Windows オペレーティング システム インターフェイスの既定のプログラムで使用されます。アプリケーションを、特定のファイル拡張子を開くアプリケーション、スタート メニューのインターネット ブラウザーのスロットの候補、特定の Windows MIME の種類を開くアプリケーションとして登録します。また、この拡張機能を使用すると、[既定のプログラムを設定する] にその仮想アプリケーションが表示されます。

    <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 – 展開、公開、削除時にスクリプトを実行するようにパッケージを構成できます。スクリプトの例については、シーケンサーによって生成される、サンプルの展開構成ファイルをご覧ください。次の「スクリプト」のセクションでは、使用できるさまざまなトリガーについて詳しく説明します。

  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

(ユーザー、ユーザー)

1 つのイベント トリガーで複数のスクリプトを使用

App-V 5.1 では、App-V パッケージに関して、1 つのイベント トリガーで複数のスクリプトを使用できます。App-V 4.6 から App-V 5.0 以降に変換したパッケージも含みます。App-V 5.1 では、複数のスクリプトの使用を有効にするために、App-V クライアント インストールの一部としてインストールされる ScriptRunner.exe という名前のスクリプト ランチャー アプリケーションを使用します。

1 つのイベント トリガーで複数のスクリプトを使用する方法:

実行するスクリプトごとに、そのスクリプトを引数として ScriptRunner.exe アプリケーションに渡します。このアプリケーションは各スクリプトを個別に実行します。スクリプト別に指定した引数が使用されます。トリガーごとにスクリプトを 1 つだけ使用します (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 の実行オプションを表すトークン。

-waitscript1.exe が完了してから次のスクリプトに進むように ScriptRunner に通知するトークン。

-timeout=xx 秒後に現在のスクリプトを停止するように ScriptRunner に通知するトークン。指定したその他のすべてのスクリプトは引き続き実行されます。

-rollbackonerror – 実行されていないスクリプトをすべて停止し、エラーを App-V クライアントにロールバックするように ScriptRunner に通知するトークン。

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

ScriptRunner.exe がすべて完了するまで待機します。

ランナー全体のタイムアウト値を個々のスクリプトのタイムアウト値の合計と等しいか、それより大きい値に設定します。

個々のスクリプトがエラーをレポートし、RollbackOnError が true に設定された場合、ScriptRunner は App-V クライアントにエラーをレポートします。

ScriptRunner はファイルの種類がコンピューターにインストールされているアプリケーションに関連付けられているスクリプトを実行します。関連付けられているアプリケーションがないか、スクリプトのファイルの種類がコンピューター上のアプリケーションに関連付けられていない場合、スクリプトは実行されません。

App-V 5.1 マニフェスト ファイルを使用して、動的な構成ファイルを作成する

手動で、App-V 5.1 管理コンソールを利用して、あるいはパッケージをシーケンス処理する (2 つのサンプル ファイルと共に生成されます) ことで、動的構成ファイルを作成できます。

App-V 5.1 管理コンソールを使用してファイルを作成する方法の詳細は、「App-V 5.1 Management Console を使用してカスタム構成ファイルを作成する方法」をご覧ください。

ファイルを手動で作成するには、前述のセクションの情報を 1 つのファイルに結合します。Sequencer で生成されるファイルを使用することをお勧めします。

APP-V への提案がございますか

こちらから提案を追加するか、提案に投票してください。App V の問題については、「APP-V に関する TechNet フォーラム」を利用してください。

関連項目

タスク

PowerShell を使用して展開構成ファイルを適用する方法
PowerShell を使用してユーザー構成ファイルを適用する方法

その他の参照情報

App-V 5.1 の操作

-----
MDOP の詳細については、TechNet ライブラリを参照してください。TechNet Wiki では、トラブルシューティング情報を検索できます。また、Microsoft の FacebookTwitter をフォローすることをお勧めします。
-----