App-V 5.1 動的構成について
動的構成では、動的構成ファイルを編集して、ユーザーまたはグループの App-V 5.1 パッケージの実行方法をカスタマイズできます。 パッケージのカスタマイズにより、必要な設定を使用してパッケージを再シーケンスする必要が解消されます。 また、パッケージ コンテンツとカスタム設定を独立した状態に保つ方法も提供されます。
仮想アプリケーション パッケージには、パッケージのすべてのコア情報を提供するマニフェストが含まれています。 この情報には、パッケージ設定の既定値が含まれ、最も基本的な形式 (追加のカスタマイズなし) の設定が決定されます。
パッケージが作成されると、シーケンサーはパッケージ マニフェスト データを使用して既定のデプロイファイルとユーザー構成.xmlファイルを自動的に生成します。 そのため、これらの生成されたファイルには、シーケンス処理中に構成された既定の設定が反映されます。 これらのファイルをシーケンサーによって生成された形式のパッケージに適用すると、パッケージにはマニフェストと同じ既定の設定が適用されます。
これらの生成されたファイルを使用して、必要に応じて変更を加えます。これは、パッケージに直接影響しません。 構成ファイルを追加、削除、または更新する場合は、マニフェスト情報の既定値に関する変更を行います。
ヒント
ファイルの読み取り順序は次のとおりです。
- UserConfig.xml
- DeploymentConfig.xml
- マニフェスト
最初のエントリは、最後に読み取られる内容を表します。 そのため、そのコンテンツが優先され、すべてのパッケージに本質的にパッケージ マニフェストの既定の設定が含まれており、提供されます。
- DeploymentConfig.xml ファイルをカスタマイズし、カスタマイズした設定を適用すると、パッケージ マニフェストの既定の設定がオーバーライドされます。
- UserConfig.xmlをカスタマイズし、カスタマイズした設定を適用すると、デプロイ構成とパッケージ マニフェストの両方の既定の設定がオーバーライドされます。
ユーザー構成ファイルの内容 (UserConfig.xml)
UserConfig ファイルは、App-V 5.1 クライアントを実行しているコンピューターにパッケージを展開するときに、特定のユーザーに適用される構成設定を提供します。 これらの設定は、クライアント上の他のユーザーには影響しません。
UserConfig ファイルを使用して、パッケージのカスタム設定を指定または変更します。
- ユーザーごとのネイティブ システムに統合された拡張機能:ショートカット、ファイルの種類の関連付け、URL プロトコル、AppPaths、ソフトウェア クライアント、COM
- 仮想サブシステム: アプリケーション オブジェクト、環境変数、レジストリの変更、サービス、フォント
- スクリプト (ユーザー コンテキストのみ)
- 権限の管理 (App-V 4.6 とのパッケージの共存を制御するための)
ヘッダー
動的ユーザー構成ファイルのヘッダーは次のようになります。
<?xml version="1.0" encoding="utf-8"?><UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
PackageId は、マニフェスト ファイルに存在するのと同じ値です。
本文
動的ユーザー構成ファイルの本文には、マニフェスト ファイルに定義されているすべてのアプリ拡張ポイントと、仮想アプリケーションを構成するための情報を含めることができます。 本文には次の 4 つのサブセクションが許可されています。
アプリケーション
パッケージ内のマニフェスト ファイルに含まれるすべてのアプリ拡張機能には、マニフェスト ファイルに含まれるアプリケーション ID が割り当てられます。 アプリケーション ID を使用すると、パッケージ内の特定のアプリケーションのすべての拡張機能を有効または無効にすることができます。 アプリケーション ID はマニフェスト ファイルに存在している必要があります。または無視されます。
<UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
<Applications>
<!--No new application can be defined in policy. AppV Client will ignore any application ID that is not also in the Manifest file-->
<Application Id="{a56fa627-c35f-4a01-9e79-7d36aed8225a}" Enabled="false">
</Application>
</Applications>
..
</UserConfiguration>
サブシステム
AppExtensions およびサブノードとして配置されたその他のサブシステム。
<UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
<Subsystems>
..
</Subsystems>
..
</UserConfiguration>
Enabled 属性を使用して、各サブシステムを 有効 または無効にすることができます。
Extensions
一部のサブシステム (拡張サブシステム) は拡張機能を制御します。 これらのサブシステムは、ショートカット、File-Type関連付け、URL プロトコル、AppPaths、ソフトウェア クライアント、COM です。
拡張機能サブシステムは、コンテンツに関係なく有効または無効にすることができます。 たとえば、ショートカットを有効にした場合、クライアントは既定でマニフェストに含まれるショートカットを使用します。 各拡張機能サブシステムには、拡張機能>ノードを<含めることができます。 この子要素が存在する場合、クライアントはそのサブシステムのマニフェスト ファイル内のコンテンツを無視し、構成ファイル内のコンテンツのみを使用します。
例:
これをユーザーまたはデプロイ構成ファイルで定義すると、マニフェスト内のコンテンツは無視されます。
<Shortcuts Enabled="true"\> <Extensions> ... </Extensions> </Shortcuts>
次のみを定義すると、発行中にマニフェスト内のコンテンツが統合されます。
<Shortcuts Enabled="true"/>
次を定義した場合でも、マニフェスト内のすべてのショートカットは無視されます。 つまり、ショートカットは統合されません。
<Shortcuts Enabled="true"> <Extensions/> </Shortcuts>
サポートされている拡張サブシステム:
ショートカット拡張機能サブシステムは、ローカル システムに統合されるショートカットを制御します。
<Subsystems>
<Shortcuts Enabled="true">
<Extensions>
<Extension Category="AppV.Shortcut">
<Shortcut>
<File>[{Common Programs}]\Microsoft Contoso\Microsoft ContosoApp Filler 2010.lnk</File>
<Target>[{PackageRoot}]\Contoso\ContosoApp.EXE</Target>
<Icon>[{Windows}]\Installer\{90140000-0011-0000-0000-0000000FF1CE}\inficon.exe</Icon>
<Arguments />
<WorkingDirectory />
<AppUserModelId>ContosoApp.Filler.3</AppUserModelId>
<Description>Fill out dynamic forms to gather and reuse information throughout the organization using Microsoft ContosoApp.</Description>
<Hotkey>0</Hotkey>
<ShowCommand>1</ShowCommand>
<ApplicationId>[{PackageRoot}]\Contoso\ContosoApp.EXE</ApplicationId>
</Shortcut>
</Extension>
<Extension Category="AppV.Shortcut">
<Shortcut>
<File>[{AppData}]\Microsoft\Contoso\Recent\Templates.LNK</File>
<Target>[{AppData}]\Microsoft\Templates</Target>
<Icon />
<Arguments />
<WorkingDirectory />
<AppUserModelId />
<Description />
<Hotkey>0</Hotkey>
<ShowCommand>1</ShowCommand>
<!-- Note the ApplicationId is optional -->
</Shortcut>
</Extension>
</Extensions>
</Shortcuts>
File-Type Associates 拡張サブシステムは、ファイルの種類を既定で開くプログラムに関連付け、コンテキスト メニューを設定します。
ヒント
MIME の種類を使用してサブシステムを設定できます。
<FileTypeAssociations Enabled="true">
<Extensions>
<Extension Category="AppV.FileTypeAssociation">
<FileTypeAssociation>
<FileExtension MimeAssociation="true">
<Name>.docm</Name>
<ProgId>contosowordpad.DocumentMacroEnabled.12</ProgId>
<PerceivedType>document</PerceivedType>
<ContentType>application/vnd.ms-contosowordpad.document.macroEnabled.12</ContentType>
<OpenWithList>
<ApplicationName>wincontosowordpad.exe</ApplicationName>
</OpenWithList>
<OpenWithProgIds>
<ProgId>contosowordpad.8</ProgId>
</OpenWithProgIds>
<ShellNew>
<Command />
<DataBinary />
<DataText />
<FileName />
<NullFile>true</NullFile>
<ItemName />
<IconPath />
<MenuText />
<Handler />
</ShellNew>
</FileExtension>
<ProgId>
<Name>contosowordpad.DocumentMacroEnabled.12</Name>
<DefaultIcon\>[{Windows}]\Installer\{90140000-0011-0000-0000-000000FF1CE}\contosowordpadicon.exe,15</DefaultIcon>
<Description>Blah Blah Blah</Description>
<FriendlyTypeName>[{FOLDERID_ProgramFilesX86}]\Microsoft Contoso 14\res.dll,9182</FriendlyTypeName>
<InfoTip>[{FOLDERID_ProgramFilesX86}]\Microsoft Contoso 14\res.dll,1424</InfoTip>
<EditFlags>0</EditFlags>
<ShellCommands>
<DefaultCommand>Open</DefaultCommand>
<ShellCommand>
<ApplicationId>{e56fa627-c35f-4a01-9e79-7d36aed8225a}</ApplicationId>
<Name>Edit</Name>
<FriendlyName>&Edit</FriendlyName>
<CommandLine>"[{PackageRoot}]\Contoso\WINcontosowordpad.EXE" /vu "%1"</CommandLine>
</ShellCommand>
</ShellCommand>
<ApplicationId>{e56fa627-c35f-4a01-9e79-7d36aed8225a}</ApplicationId>
<Name>Open</Name>
<FriendlyName>&Open</FriendlyName>
<CommandLine>"[{PackageRoot}]\Contoso\WINcontosowordpad.EXE" /n "%1"</CommandLine>
<DropTargetClassId />
<DdeExec>
<Application>mscontosowordpad</Application>
<Topic>ShellSystem</Topic>
<IfExec>[SHELLNOOP]</IfExec>
<DdeCommand>[SetForeground][ShellNewDatabase"%1"]</DdeCommand>
</DdeExec>
</ShellCommand>
</ShellCommands>
</ProgId>
</FileTypeAssociation>
</Extension>
</Extensions>
</FileTypeAssociations>
URL Protocols 拡張サブシステムは、クライアント マシンのローカル レジストリに統合された URL プロトコル ( mailto:など) を制御します。
<URLProtocols Enabled="true">
<Extensions>
<Extension Category="AppV.URLProtocol">
<URLProtocol>
<Name>mailto</Name>
<ApplicationURLProtocol>
<DefaultIcon>[{ProgramFilesX86}]\MicrosoftContoso\Contoso\contosomail.EXE,-9403</DefaultIcon>
<EditFlags>2</EditFlags>
<Description />
<AppUserModelId />
<FriendlyTypeName />
<InfoTip />
<SourceFilter />
<ShellFolder />
<WebNavigableCLSID />
<ExplorerFlags>2</ExplorerFlags>
<CLSID />
<ShellCommands>
<DefaultCommand>open</DefaultCommand>
<ShellCommand>
<ApplicationId>[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE</ApplicationId>
<Name>open</Name>
<CommandLine>[{ProgramFilesX86}\Microsoft Contoso\Contoso\contosomail.EXE" -c OEP.Note /m "%1"</CommandLine>
<DropTargetClassId />
<FriendlyName />
<Extended>0</Extended>
<LegacyDisable>0</LegacyDisable>
<SuppressionPolicy>2</SuppressionPolicy>
<DdeExec>
<NoActivateHandler />
<Application>contosomail</Application>
<Topic>ShellSystem</Topic>
<IfExec>[SHELLNOOP]</IfExec>
<DdeCommand>[SetForeground][ShellNewDatabase "%1"]</DdeCommand>
</DdeExec>
</ShellCommand>
</ShellCommands>
</ApplicationURLProtocol>
</URLProtocol>
</Extension>
</Extension>
</URLProtocols>
ソフトウェア クライアント 拡張機能サブシステムを使用すると、アプリは電子メール クライアント、ニュース リーダー、メディア プレーヤーとして登録でき、プログラム アクセスの設定とコンピューターの既定の UI でアプリを表示できます。 ほとんどの場合、有効または無効にする必要があります。 また、そのクライアントを除く他のクライアントを有効にしたい場合は、特に電子メール クライアントを有効または無効にするコントロールもあります。
<SoftwareClients Enabled="true">
<ClientConfiguration EmailEnabled="false" />
</SoftwareClients>
AppPaths 拡張機能サブシステムは、アプリケーション パスに登録されているアプリを開きます。 たとえば、contoso.exeに myapp のアプリパス名がある場合、ユーザーは実行メニューから myapp を入力し、contoso.exeを開くことができます。
<AppPaths Enabled="true">
<Extensions>
<Extension Category="AppV.AppPath">
<AppPath>
<ApplicationId>[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE</ApplicationId>
<Name>contosomail.exe</Name>
<ApplicationPath>[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE</ApplicationPath>
<PATHEnvironmentVariablePrefix />
<CanAcceptUrl>false</CanAcceptUrl>
<SaveUrl />
</AppPath>
</Extension>
</Extensions>
</AppPaths>
COM 拡張機能サブシステムを使用すると、アプリケーションをローカル COM サーバーに登録できます。 モードは次のことができます。
- 統合
- 分離
- オフ
<COM Mode="Isolated"/>
仮想カーネル オブジェクト
<Objects Enabled="false" />
仮想レジストリ は、HKCU 内の仮想レジストリにレジストリを設定します。
<Registry Enabled="true">
<Include>
<Key Path="\REGISTRY\USER\[{AppVCurrentUserSID}]\Software\ABC">
<Value Type="REG_SZ" Name="Bar" Data="NewValue" />
</Key>
<Key Path="\REGISTRY\USER\[{AppVCurrentUserSID}]\Software\EmptyKey" />
</Include>
<Delete>
</Registry>
仮想ファイル システム
<FileSystem Enabled="true" />
仮想フォント
<Fonts Enabled="false" />
仮想環境変数
<EnvironmentVariables Enabled="true">
<Include>
<Variable Name="UserPath" Value="%path%;%UserProfile%" />
<Variable Name="UserLib" Value="%UserProfile%\ABC" />
</Include>
<Delete>
<Variable Name="lib" />
</Delete>
</EnvironmentVariables>
仮想サービス
<Services Enabled="false" />
UserScripts
UserScripts を使用して、仮想環境を設定または変更します。 また、デプロイ時にスクリプトを実行したり、アプリケーションが終了した後に環境をクリーンアップしたりすることもできます。 サンプル スクリプトを表示するには、シーケンサーによって生成されたユーザー構成ファイルを参照してください。 以下のスクリプトセクションでは、使用できるさまざまなトリガーについて詳しく説明します。
管理機関
パッケージの 2 つのバージョンが同じコンピューターに共存する場合は、1 つは App-V 4.6 にデプロイされ、もう 1 つは App-V 5.0 にデプロイされている場合は、管理機関を使用します。 App-V vNext が名前付きパッケージの App-V 4.6 拡張ポイントを引き継ぐのを許可するには、UserConfig ファイルに次のように入力します (ここで、PackageName は App-V 4.6 の Package GUID です)。
<ManagingAuthority TakeoverExtensionPointsFrom46="true" PackageName="032630c0-b8e2-417c-acef-76fc5297fe81" />
デプロイ構成ファイル (DeploymentConfig.xml)
DeploymentConfig ファイルは、コンピューター コンテキストとユーザー コンテキストの構成設定を提供し、UserConfig ファイルに一覧表示されているのと同じ機能を提供します。 この設定は、App-V 5.1 クライアントを実行しているコンピューターにパッケージを展開するときに適用されます。
DeploymentConfig ファイルを使用して、パッケージのカスタム設定を指定または変更します。
- すべての UserConfig 設定
- すべてのユーザーに対してのみグローバルに適用できる拡張機能
- グローバル マシンの場所 (レジストリなど) の仮想サブシステム
- 製品ソース URL
- スクリプト (マシン コンテキストのみ)
- 子プロセスを終了するコントロール
ヘッダー
動的デプロイ構成ファイルのヘッダーは次のようになります。
<?xml version="1.0" encoding="utf-8"?><DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/deploymentconfiguration">
PackageId は、マニフェスト ファイルに存在するのと同じ値です。
本文
動的デプロイ構成ファイルの本文には、次の 2 つのセクションがあります。
UserConfiguration: 前のセクションで説明したユーザー構成ファイルと同じコンテンツを使用できます。 ユーザーにパッケージを発行する場合、このセクションの appextensions 構成設定は、ユーザー構成ファイルを指定しない限り、パッケージ内のマニフェスト内の対応する設定よりも優先されます。 UserConfig ファイルも提供する場合は、展開構成ファイルのユーザー設定の代わりに使用されます。 パッケージをグローバルに発行する場合は、配置構成ファイルの内容のみがマニフェストと組み合わせて使用されます。 詳細については、「 ユーザー構成ファイルの内容 (UserConfig.xml)」を参照してください。
MachineConfiguration: コンピューター上の特定のユーザーではなく、コンピューター全体に対してのみ構成できる情報が含まれています。 たとえば、VFS でレジストリ キーをHKEY_LOCAL_MACHINEします。
<DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/deploymentconfiguration">
<UserConfiguration>
...
</UserConfiguration>
<MachineConfiguration>
...
</MachineConfiguration>
...
</MachineConfiguration>
</DeploymentConfiguration>
UserConfiguration
このセクションで提供される設定については、 ユーザー構成ファイルの内容 (UserConfig.xml) を参照してください。
MachineConfiguration
MachineConfiguration セクションを使用して、コンピューター全体の情報を構成します。コンピューター上の特定のユーザーには適用されません。 たとえば、仮想レジストリにレジストリ キーをHKEY_LOCAL_MACHINEします。 この要素では、次の 4 つのサブセクションを使用できます。
サブシステム
AppExtensions およびサブノードとして配置されたその他のサブシステム。
<MachineConfiguration>
<Subsystems>
…
</Subsystems>
…
</MachineConfiguration>
Enabled 属性を使用して、各サブシステムを 有効 または無効にすることができます。
Extensions
一部のサブシステム (拡張サブシステム) は拡張機能を制御します。 サブシステムは、既定のプログラムで使用されるアプリケーション機能です。 この種類の拡張機能の場合は、ローカル システムに統合するためにパッケージをグローバルに発行する必要があります。 ユーザー構成の拡張機能に適用されるコントロールと設定に関する同じ規則は、MachineConfiguration セクションの拡張機能にも適用されます。
アプリケーション機能: アプリケーション自体を次のように登録できる既定のプログラムで使用されます。
- 特定のファイル拡張子を開くことができます
- スタート メニューのインターネット ブラウザー スロットの候補
- 特定の Windows MIME の種類を開くことができる
この拡張機能を使用すると、既定のプログラムの設定 UI で仮想アプリケーションが表示されます。
<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>
サポートされている拡張サブシステム:
Machine Wide Virtual Registry 拡張機能サブシステムは、HKEY_Local_Machine内の仮想レジストリにレジストリ キーを設定します。
<Registry>
<Include>
<Key Path="\REGISTRY\\Machine\Software\ABC">
<Value Type="REG_SZ" Name="Bar" Data="Baz" />
</Key>
<Key Path="\REGISTRY\Machine\Software\EmptyKey" />
</Include>
<Delete>
</Registry>
マシン全体の仮想カーネル オブジェクト
<Objects>
<NotIsolate>
<Object Name="testObject" />
</NotIsolate>
</Objects>
ProductSourceURLOptOut
ProductSourceURLOptOut を使用して、 PackageSourceRoot を使用してパッケージの URL をグローバルに変更できることを示します (ブランチ オフィスのシナリオをサポートするため)。 変更は、次の起動時に有効になります。
<MachineConfiguration>
...
<ProductSourceURLOptOut Enabled="true" />
...
</MachineConfiguration>
MachineScripts
パッケージは、デプロイ、発行、または削除時にスクリプトを実行するように構成できます。 サンプル スクリプトを表示するには、シーケンサーによって生成されたデプロイ構成ファイルを参照してください。
以下のスクリプトセクションでは、使用できるさまざまなトリガーについて詳しく説明します。
TerminateChildProcess
アプリケーション実行可能ファイルを指定できます。その子プロセスは、アプリケーション exe プロセスが終了すると終了します。
<MachineConfiguration>
...
<TerminateChildProcesses>
<Application Path="[{PackageRoot}]\Contoso\ContosoApp.EXE" />
<Application Path="[{PackageRoot}]\LitView\LitViewBrowser.exe" />
<Application Path="[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE" />
</TerminateChildProcesses>
...
</MachineConfiguration>
スクリプト
次の表では、さまざまなスクリプト イベントと、実行できるコンテキストについて説明します。
スクリプトの実行時間 | 展開構成で指定できます | ユーザー構成で指定できます | パッケージの仮想環境で実行できる | 特定のアプリケーションのコンテキストで実行できます | システム/ユーザー コンテキストで実行: (展開構成、ユーザー構成) |
---|---|---|---|---|---|
AddPackage | ○ | (SYSTEM、N/A) | |||
PublishPackage | ○ | ○ | (SYSTEM、ユーザー) | ||
UnpublishPackage | ○ | ○ | (SYSTEM、ユーザー) | ||
RemovePackage | ○ | (SYSTEM、N/A) | |||
StartProcess | ○ | ○ | ○ | ○ | (ユーザー、ユーザー) |
ExitProcess | ○ | ○ | ○ | (ユーザー、ユーザー) | |
StartVirtualEnvironment | ○ | ○ | ○ | (ユーザー、ユーザー) | |
TerminateVirtualEnvironment | ○ | ○ | (ユーザー、ユーザー) |
1 つのイベント トリガーで複数のスクリプトを使用する
App-V 5.1 では、App-V 4.6 から App-V 5.0 以降に変換するパッケージなど、App-V パッケージの 1 つのイベント トリガーで複数のスクリプトを使用できます。 複数のスクリプトの使用を有効にするために、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>
パッケージの追加やパッケージの発行など、スクリプトを実行しているイベント トリガーの名前。
<パス>ScriptRunner.exe</Path>
App-V クライアント のインストールの一環としてインストールされるスクリプト起動アプリケーション。
注
ScriptRunner.exeは App-V クライアントの一部としてインストールされますが、App-V クライアントの場所は %path% である必要があります。ScriptRunner は実行されません。 ScriptRunner.exeは通常、C:FilesApplication Virtualizationfolder にあります。
<Arguments>
-appvscript
- 実行する実際のスクリプトを表すトークン。
script1.exe
– 実行するスクリプトの名前。
arg1 arg2
– 実行するスクリプトの引数。
-appvscriptrunnerparameters
– script1.exeの実行オプションを表すトークン。
-wait
– 次のスクリプトに進む前に、script1.exeの実行が完了するのを待機するように ScriptRunner に通知するトークン。
-timeout=x
– x 秒数後に現在のスクリプトの実行を停止するように 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 つのサンプル ファイルを生成するかの 3 つの方法のいずれかを使用して作成できます。 App-V 5.1 管理コンソールを使用してファイルを作成する方法の詳細については、「 App-V 5.1 管理コンソールを使用してカスタム構成ファイルを作成する方法」を参照してください。
ファイルを手動で作成するには、前のセクションの上記の情報を 1 つのファイルに結合できます。 シーケンサーによって生成されたファイルを使用することをお勧めします。
App-V の問題については、 App-V TechNet フォーラムを使用します。