Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:
- Windows 10
- Windows 11
Você pode usar a configuração dinâmica para personalizar um pacote do App-V para um usuário. Este artigo mostrará como criar ou editar um arquivo de configuração dinâmica existente.
Quando você edita o arquivo de Configuração Dinâmica, ele personaliza como um pacote do App-V será executado para um usuário ou grupo. Portanto, a personalização do pacote é mais conveniente, eliminando a necessidade de resequenciar pacotes usando as configurações desejadas e fornece uma maneira de manter o conteúdo do pacote e as configurações personalizadas independentes.
Avançado: configuração dinâmica
Os pacotes de aplicativos virtuais contêm um manifesto que fornece todas as informações principais do pacote. Essas informações incluem os padrões para as configurações de pacote e determinam as configurações na forma mais básica (sem personalização adicional). Se quiser ajustar esses padrões para determinado usuário ou grupo, você poderá criar e editar os seguintes arquivos:
- Arquivo de configuração do usuário
- Arquivo de Configuração de Implantação
Esses arquivos .xml especificam as configurações de pacote, permitem personalizar pacotes sem afetá-los diretamente. Quando um pacote é criado, o sequenciador gera automaticamente arquivos .xml implantação padrão e configuração do usuário usando os dados de manifesto do pacote. Esses arquivos de configuração gerados automaticamente refletem as configurações padrão do pacote que foram definidas durante o sequenciamento. Se você aplicar esses arquivos de configuração a um pacote no formulário gerado pelo sequenciador, os pacotes terão as mesmas configurações padrão provenientes de seu manifesto. Esse resultado fornece um modelo específico do pacote para começar, se qualquer um dos padrões precisar ser alterado.
Observação
As informações a seguir só podem ser usadas para modificar os arquivos de configuração gerados pelo sequenciador para personalizar pacotes para atender aos requisitos específicos do usuário ou grupo.
Conteúdo do arquivo de Configuração Dinâmica
Todas as adições, exclusões e atualizações nos arquivos de configuração precisam ser feitas em relação aos valores padrão especificados pelas informações de manifesto do pacote. A lista a seguir representa a relação entre esses arquivos em como eles serão lidos, da maior para a menor precedência:
- Arquivo de .xml de Configuração do Usuário
- Arquivo .xml de Configuração de Implantação
- Manifesto do pacote
O primeiro item representa o que será lido por último. Portanto, seu conteúdo tem precedência. Todos os pacotes contêm e fornecem inerentemente as configurações padrão do Manifesto do Pacote, mas também têm a menor precedência. Se você aplicar um arquivo de .xml de Configuração de Implantação com configurações personalizadas, ele substituirá os padrões do Manifesto do Pacote. Se você aplicar um arquivo de .xml de Configuração do Usuário com configurações personalizadas antes da substituição dos padrões do Manifesto de Pacote, ele substituirá a configuração de implantação e os padrões do Manifesto de Pacote.
Existem dois tipos de arquivos de configuração:
- Arquivo de Configuração do Usuário (UserConfig): permite especificar ou modificar configurações personalizadas para um pacote. Essas configurações serão aplicadas a um usuário específico quando o pacote for implantado em um computador que executa o cliente App-V.
- Arquivo de Configuração de Implantação (DeploymentConfig): permite que você especifique ou modifique as configurações padrão de um pacote. Essas configurações serão aplicadas a todos os usuários quando um pacote for implantado em um computador que executa o cliente App-V.
Você pode usar o arquivo UserConfig para personalizar as configurações de um pacote para um conjunto específico de usuários em um computador ou fazer alterações que serão aplicadas a locais de usuários locais, como HKCU. Você pode usar o arquivo DeploymentConfig para modificar as configurações padrão de um pacote para todos os usuários em um computador ou fazer alterações que serão aplicadas a locais globais, como HKEY_LOCAL_MACHINE e a pasta Todos os Usuários.
O arquivo UserConfig fornece definições de configuração que você pode aplicar a um único usuário sem afetar nenhum outro usuário em um cliente:
- Extensões que serão integradas ao sistema nativo por usuário: atalhos, associações File-Type, protocolos de URL, AppPaths, clientes de software e COM.
- Subsistemas virtuais: objetos de aplicativo, variáveis de ambiente, modificações do registro, serviços e fontes.
- Scripts (somente contexto de usuário).
O arquivo DeploymentConfig fornece definições de configuração em duas seções, uma relativa ao contexto da máquina e outra relativa ao contexto do usuário, fornecendo os mesmos recursos listados na lista UserConfig anterior:
- Todas as configurações de UserConfig da seção anterior deste tópico
- Extensões que só podem ser aplicadas globalmente para todos os usuários
- Subsistemas virtuais que podem ser configurados para locais de máquinas globais, como o Registro
- URL de origem do produto
- Scripts (somente contexto de máquina)
- Controles para encerrar processos filho
Estrutura de arquivos
A estrutura do arquivo de Configuração Dinâmica do App-V é explicada na seção a seguir.
Arquivo de Configuração de Usuário Dinâmico
Cabeçalho
Um exemplo de cabeçalho do arquivo de Configuração Dinâmica do Usuário é:
<?xml version="1.0" encoding="utf-8"?>
<UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
A PackageId é o mesmo valor que existe no arquivo de manifesto.
Corpo do arquivo de Configuração Dinâmica do Usuário
O corpo do arquivo de Configuração Dinâmica do Usuário pode incluir todos os pontos de extensão do aplicativo definidos no arquivo de manifesto e as informações para configurar aplicativos virtuais. Há quatro subseções permitidas no corpo:
Aplicativos: todas as extensões de aplicativo contidas no arquivo de manifesto em um pacote são atribuídas com uma ID de aplicativo, que também é definida no arquivo de manifesto. Isso permite que você habilite ou desabilite todas as extensões para um determinado aplicativo em um pacote. A ID do aplicativo deve existir no arquivo de manifesto ou será ignorada.
<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>
Subsistemas: AppExtensions e outros subsistemas são organizados como subnós em <Subsystems>, conforme mostrado no exemplo a seguir.
<UserConfiguration **PackageId**="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
<Subsystems>
..
</Subsystems>
..
</UserConfiguration>
Cada subsistema pode ser habilitado/desabilitado usando o atributo Enabled . As seções a seguir descrevem os vários subsistemas e exemplos de uso.
Extensões de arquivo de Configuração dinâmica do usuário
Os subsistemas de extensão controlam extensões. Esses subsistemas são atalhos, associações File-Type, protocolos de URL, AppPaths, clientes de software e COM.
Os subsistemas de extensão podem ser habilitados e desabilitados independentemente do conteúdo. Portanto, se os atalhos estiverem habilitados, o cliente usará os atalhos contidos no manifesto por padrão. Cada subsistema de extensão pode conter um <Extensions> nó. Se esse elemento filho estiver presente, o cliente ignorará o conteúdo no arquivo de manifesto desse subsistema e usará apenas o conteúdo no arquivo de configuração.
Exemplos do subsistema atalhos
Exemplo 1
O conteúdo será ignorado se o usuário definiu as seguintes sintaxes no arquivo de configuração dinâmica ou de implantação:
<Shortcuts Enabled="true">
<Extensions
...
</Extensions>
</Shortcuts>
Exemplo 2
O conteúdo no manifesto será integrado durante a publicação se o usuário definiu apenas a seguinte sintaxe:
`<Shortcuts Enabled="true"/>`
Exemplo 3
Todos os atalhos no manifesto serão ignorados e nenhum atalho será integrado se o usuário definir as seguintes sintaxes:
<Shortcuts Enabled="true">
<Extensions/>
</Shortcuts>
Subsistemas de extensão com suporte
Atalhos: Este subsistema controla os atalhos que serão integrados ao sistema local. O exemplo a seguir tem dois atalhos:
<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>
Associações de Tipo de Arquivo: Associa tipos de arquivo a programas para abrir por padrão e configurar o menu de contexto. (Tipos MIME também podem ser configurados com esse subsistema.) Um exemplo de associação de 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>
Protocolos de URL: Este subsistema controla os protocolos de URL integrados ao registro local da máquina cliente. O exemplo a seguir ilustra o protocolo "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>
Clientes de software: permite que o aplicativo se registre como cliente de email, leitor de notícias ou reprodutor de mídia e torna o aplicativo visível na interface do usuário Definir acesso a programas e padrões do computador. Na maioria dos casos, você só precisa habilitá-la e desabilitá-la. Há também um controle que permite ativar ou desativar o cliente de email somente se você quiser que todos os outros clientes permaneçam como estão.
<SoftwareClients Enabled="true">
<ClientConfiguration EmailEnabled="false" />
</SoftwareClients>
AppPaths: se um aplicativo, como contoso.exe, for registrado com um nome apppath de "myapp", esse subsistema permitirá que você abra o aplicativo inserindo "myapp" no menu de execução.
<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: Permite que um Aplicativo registre servidores COM Locais. O modo pode ser Integração, Isolado ou Desativado. Quando Isol.
<COM Mode="Isolated"/>
Outras configurações para o arquivo de Configuração de Usuário Dinâmico
Além das extensões, os outros subsistemas a seguir podem ser habilitados/desabilitados e editados.
Objetos de kernel virtuais
<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>
Sistema de Arquivos Virtual
<FileSystem Enabled="true" />
Fontes virtuais
<Fonts Enabled="false" />
Variáveis de ambiente virtual
<EnvironmentVariables Enabled="true">
<Include>
<Variable Name="UserPath" Value="%path%;%UserProfile%" />
<Variable Name="UserLib" Value="%UserProfile%\\ABC" />
</Include>
<Delete>
<Variable Name="lib" />
</Delete>
</EnvironmentVariables>
Serviços virtuais
<Services Enabled="false" />
Scripts de usuário
Os scripts podem ser usados para configurar ou alterar o ambiente virtual e executar scripts na implantação ou remoção, antes da execução de um aplicativo ou podem limpar o ambiente após o encerramento do aplicativo. Consulte um exemplo de saída do arquivo de Configuração do Usuário do sequenciador para ver um script de exemplo. Para obter mais informações sobre os vários gatilhos que você pode usar para configurar scripts, consulte a seção Scripts .
Arquivo de Configuração de Implantação Dinâmica
Cabeçalho do arquivo de Configuração de Implantação Dinâmica
O cabeçalho de um arquivo de Configuração de Implantação deve ser semelhante a este:
<?xml version="1.0" encoding="utf-8"?><DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/deploymentconfiguration">
A PackageId é o mesmo valor que existe no arquivo de manifesto.
Corpo do arquivo de Configuração de Implantação Dinâmica
O corpo do arquivo de configuração de implantação inclui duas seções:
- A seção Configuração do Usuário permite o mesmo conteúdo que o arquivo de Configuração do Usuário descrito na seção anterior. Quando o pacote é publicado para um usuário, todas as definições de configuração de appextensions nesta seção substituirão as configurações correspondentes no Manifesto dentro do pacote, a menos que um arquivo de configuração do usuário também seja fornecido. Se um arquivo UserConfig também for fornecido, ele será usado em vez das configurações do Usuário no arquivo de configuração da implantação. Se o pacote for publicado globalmente, somente o conteúdo do arquivo de configuração de implantação será usado em combinação com o manifesto.
- A seção Configuração da Máquina contém informações que só podem ser configuradas para uma máquina inteira, não para um usuário específico na máquina. Por exemplo, HKEY_LOCAL_MACHINE chaves de registro no VFS.
<DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/deploymentconfiguration">
<UserConfiguration>
..
</UserConfiguration>
<MachineConfiguration>
..
</MachineConfiguration>
..
</MachineConfiguration>
</DeploymentConfiguration>
Configuração do usuário: Para obter mais informações sobre esta seção, consulte Configuração dinâmica do usuário.
Configuração do Computador: A seção Configuração do Computador do Arquivo de Configuração de Implantação configura informações que só podem ser definidas para um computador inteiro, não para um usuário específico no computador, como as HKEY_LOCAL_MACHINE chaves do Registro no Registro Virtual. Esse elemento pode ter as quatro subseções a seguir.
Subsistemas
AppExtensions e outros subsistemas são organizados como subnós em <Subsystems>:
<MachineConfiguration>
<Subsystems>
..
</Subsystems>
..
</MachineConfiguration>
A seção a seguir descreve os vários subsistemas e exemplos de uso.
Extensões
Alguns subsistemas (Subsistemas de Extensão) controlam extensões que só podem ser aplicadas a todos os usuários. O subsistema são os recursos do aplicativo. Como esse subsistema só pode ser aplicado a todos os usuários, o pacote deve ser publicado globalmente para que esse tipo de extensão seja integrado ao sistema local. As regras para controles e configurações de extensão de Configuração do Usuário também se aplicam às da Configuração da Máquina.
Recursos do aplicativo
A extensão de Recursos do Aplicativo é usada por programas padrão na interface do sistema operacional Windows; ele permite que um aplicativo se registre como capaz de abrir determinadas extensões de arquivo, como um concorrente para o slot do navegador da Internet do menu Iniciar e como capaz de abrir determinados tipos MIME do Windows. Essa extensão também torna o aplicativo virtual visível na interface do usuário Definir Programas Padrão.
<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>
Outras configurações para o arquivo de Configuração de Implantação Dinâmica
Você pode editar outros subsistemas além das extensões:
- Registro virtual em toda a máquina: Use este subsistema quando quiser definir uma chave de registro no registro virtual dentro 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>
- Objetos de kernel virtual de todo o computador
<Objects>
<NotIsolate>
<Object Name="testObject" />
</NotIsolate>
</Objects>
- ProductSourceURLOptOut: indica se a URL do pacote pode ser modificada globalmente por meio do PackageSourceRoot para dar suporte a cenários de filiais. Ele é definido como Falso por padrão. As alterações no valor entrarão em vigor na próxima inicialização.
<MachineConfiguration>
..
<ProductSourceURLOptOut Enabled="true" />
..
</MachineConfiguration>
MachineScripts: o pacote pode ser configurado para executar scripts após a implantação, publicação ou remoção. Para ver um script de exemplo, consulte um arquivo de configuração de implantação de exemplo gerado pelo sequenciador. A seção a seguir fornece mais informações sobre os vários gatilhos que você pode usar para configurar scripts.
TerminateChildProcess: você pode usar esse subsistema para especificar que os processos filho de um executável de aplicativo serão encerrados quando o processo application.exe for encerrado.
<MachineConfiguration>
..
<TerminateChildProcesses>
<Application Path="\[{PackageRoot}\]\\Contoso\\ContosoApp.EXE" />
<Application Path="\[{PackageRoot}\]\\LitView\\LitViewBrowser.exe" />
<Application Path="\[{ProgramFilesX86}\]\\Microsoft Contoso\\Contoso\\contosomail.EXE" />
</TerminateChildProcesses>
..
</MachineConfiguration>
Scripts
A tabela a seguir descreve os vários eventos de script e o contexto no qual eles podem ser executados.
| Tempo de execução do script | Pode ser especificado na Configuração de Implantação | Pode ser especificado na Configuração do Usuário | Pode ser executado no ambiente virtual do pacote | Pode ser executado no contexto de um aplicativo específico | Executa no contexto do sistema/usuário: (Configuração de Implantação, Configuração do Usuário) |
|---|---|---|---|---|---|
| AddPackage | X | (SISTEMA, N/D) | |||
| PublishPackage | X | X | (SYSTEM, User) | ||
| UnpublishPackage | X | X | (SYSTEM, User) | ||
| RemovePackage | X | (SISTEMA, N/D) | |||
| StartProcess | X | X | X | X | (Usuário, Usuário) |
| ExitProcess | X | X | X | (Usuário, Usuário) | |
| StartVirtualEnvironment | X | X | X | (Usuário, Usuário) | |
| TerminateVirtualEnvironment | X | X | (Usuário, Usuário) |
O uso de vários scripts em um único gatilho de evento
O App-V dá suporte ao uso de vários scripts em um único gatilho de evento para pacotes do App-V, incluindo pacotes que você converte do App-V 4.6 para o App-V para cliente Windows. Para habilitar o uso de vários scripts, o App-V usa um aplicativo inicializador de scripts, chamado ScriptRunner.exe, que está incluído no cliente do App-V.
Como usar vários scripts em um único gatilho de evento
Para cada script que você deseja executar, passe-o como um argumento para o aplicativo ScriptRunner.exe. O aplicativo executará cada script separadamente, juntamente com os argumentos que você especificar para cada script. Use apenas um script (ScriptRunner.exe) por gatilho.
Observação
Recomendamos que você execute primeiro a linha de vários scripts em um prompt de comando para garantir que todos os argumentos sejam criados corretamente antes de adicioná-los ao arquivo de configuração de implantação.
Exemplos de descrições de script e parâmetros
Usando o arquivo e a tabela de exemplo a seguir, modifique o arquivo de implantação ou configuração do usuário para adicionar os scripts que você deseja executar.
<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>
| Parâmetro no arquivo de exemplo | Descrição |
|---|---|
<AddPackage> |
Nome do gatilho de evento para o qual você está executando um script, como ao adicionar ou publicar um pacote. |
ScriptRunner.exe |
O aplicativo iniciador de script incluído no cliente do App-V. Embora ScriptRunner.exe esteja incluído no cliente do App-V, o local do cliente do App-V deve estar em %path% ou o ScriptRunner não será executado. ScriptRunner.exegeralmente está localizado na pasta 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— que representa o script real que você deseja executar.script1.exe—nome do script que você deseja executar.arg1 arg2—para o script que você deseja executar.-appvscriptrunnerparameters— token que representa as opções de execução para script1.exe.-wait— token que informa ao ScriptRunner para aguardar a execução do script1.exe concluída antes de prosseguir para o próximo script.-timeout=x— token que informa ao ScriptRunner para parar de executar o script atual após x número de segundos. Todos os outros scripts especificados ainda serão executados.-rollbackonerror— token que informa ao ScriptRunner para interromper a execução de todos os scripts que ainda não foram executados e reverter um erro para o cliente do App-V. |
<Wait timeout=”40” RollbackOnError=”true”/> |
Aguarda a conclusão geral do ScriptRunner.exe. Defina o valor de tempo limite para o executor geral para ser maior ou igual à soma dos valores de tempo limite nos scripts individuais. Se qualquer script individual relatou um erro e rollbackonerror foi definido como verdadeiro, o ScriptRunner deve relatar o erro ao cliente App-V. |
O ScriptRunner executará qualquer script cujo tipo de arquivo esteja associado a um aplicativo instalado no computador. Se o aplicativo associado estiver ausente ou o tipo de arquivo do script não estiver associado a nenhum dos aplicativos do computador, o script não será executado.
Criar um arquivo de Configuração Dinâmica usando um arquivo de manifesto do App-V
Você pode criar o arquivo de Configuração Dinâmica usando um dos três métodos: manualmente, usando o Console de Gerenciamento do App-V ou sequenciando um pacote, que gerará um pacote com dois arquivos de amostra.
Para obter mais informações sobre como criar o arquivo usando o Console de Gerenciamento do App-V, consulte Como criar um arquivo de Configuração Personalizada usando o Console de Gerenciamento do App-V.
Para criar o arquivo manualmente, você pode combinar os componentes listados nas seções anteriores em um único arquivo. No entanto, recomendamos que você use arquivos gerados pelo sequenciador em vez de arquivos criados manualmente.