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
Pode utilizar a configuração dinâmica para personalizar um pacote App-V para um utilizador. Este artigo irá indicar-lhe como criar ou editar um ficheiro de configuração dinâmica existente.
Quando edita o ficheiro de Configuração Dinâmica, este personaliza a forma como um pacote App-V será executado para um utilizador ou grupo. Por conseguinte, a personalização de pacotes torna-se mais conveniente ao remover a necessidade de recuperar pacotes com as definições pretendidas e fornece uma forma de manter o conteúdo do pacote e as definições personalizadas independentes.
Avançado: configuração dinâmica
Os pacotes de aplicações virtuais contêm um manifesto que fornece todas as informações principais do pacote. Estas informações incluem as predefinições das definições do pacote e determinam as definições no formato mais básico (sem personalização adicional). Se quiser ajustar estas predefinições para um determinado utilizador ou grupo, pode criar e editar os seguintes ficheiros:
- Ficheiro de Configuração do Utilizador
- Ficheiro de Configuração de Implementação
Estes ficheiros .xml especificam as definições do pacote, o que lhe permite personalizar pacotes sem afetar diretamente os pacotes. Quando um pacote é criado, o sequenciador gera automaticamente a implementação predefinida e a configuração do utilizador .xml ficheiros com os dados de manifesto do pacote. Estes ficheiros de configuração gerados automaticamente refletem as predefinições do pacote que foram configuradas durante a sequenciação. Se aplicar estes ficheiros de configuração a um pacote no formulário gerado pelo sequenciador, os pacotes terão as mesmas predefinições provenientes do respetivo manifesto. Este resultado fornece-lhe um modelo específico de pacote para começar se alguma das predefinições tiver de ser alterada.
Observação
As seguintes informações só podem ser utilizadas para modificar ficheiros de configuração gerados pelo sequenciador para personalizar pacotes para cumprir requisitos específicos de utilizadores ou grupos.
Conteúdo do ficheiro de Configuração Dinâmica
Todas as adições, eliminações e atualizações nos ficheiros de configuração têm de ser feitas em relação aos valores predefinidos especificados pelas informações de manifesto do pacote. A lista seguinte representa a relação entre estes ficheiros na forma como serão lidos, da maioria para a menor precedência:
- Ficheiro de .xml de Configuração do Utilizador
- Ficheiro de .xml de Configuração de Implementação
- Manifesto do Pacote
O primeiro item representa o que será lido em último lugar. Por conseguinte, o seu conteúdo tem precedência. Todos os pacotes contêm e fornecem predefinições do Manifesto do Pacote, mas também têm a menor precedência. Se aplicar uma Configuração de Implementação .xml ficheiro com definições personalizadas, este substituirá as predefinições do Manifesto de Pacote. Se aplicar um ficheiro de .xml de Configuração de Utilizador com definições personalizadas antes da substituição das predefinições do Manifesto de Pacote, irá substituir a configuração de implementação e as predefinições do Manifesto de Pacote.
Existem dois tipos de ficheiros de configuração:
- Ficheiro de Configuração do Utilizador (UserConfig): permite-lhe especificar ou modificar definições personalizadas para um pacote. Estas definições serão aplicadas a um utilizador específico quando o pacote for implementado num computador com o cliente App-V.
- Ficheiro de Configuração de Implementação (DeploymentConfig): permite-lhe especificar ou modificar as predefinições de um pacote. Estas definições serão aplicadas a todos os utilizadores quando um pacote for implementado num computador com o cliente App-V.
Pode utilizar o ficheiro UserConfig para personalizar as definições de um pacote para um conjunto específico de utilizadores num computador ou efetuar alterações que serão aplicadas a localizações de utilizador locais, como HKCU. Pode utilizar o ficheiro DeploymentConfig para modificar as predefinições de um pacote para todos os utilizadores num computador ou efetuar alterações que serão aplicadas a localizações globais, como HKEY_LOCAL_MACHINE e a pasta Todos os Utilizadores.
O ficheiro UserConfig fornece definições de configuração que pode aplicar a um único utilizador sem afetar outros utilizadores num cliente:
- Extensões que serão integradas no sistema nativo por utilizador: atalhos, associações de File-Type, Protocolos de URL, AppPaths, Clientes de Software e COM.
- Subsistemas Virtuais: Objetos de Aplicação, Variáveis de ambiente, Modificações do registo, Serviços e Tipos de Letra.
- Scripts (apenas contexto de utilizador).
O ficheiro DeploymentConfig fornece definições de configuração em duas secções, uma relativa ao contexto do computador e outra relativamente ao contexto de utilizador que fornece as mesmas capacidades listadas na lista UserConfig anterior:
- Todas as definições de UserConfig da secção anterior deste tópico
- Extensões que só podem ser aplicadas globalmente a todos os utilizadores
- Subsistemas Virtuais que podem ser configurados para localizações de máquinas globais, como o registo
- URL da Origem do Produto
- Scripts (apenas contexto do computador)
- Controlos para terminar processos subordinados
Estrutura de ficheiros
A estrutura do ficheiro de Configuração Dinâmica do App-V é explicada na secção seguinte.
Ficheiro de Configuração de Utilizador Dinâmico
Cabeçalho
Um exemplo do cabeçalho de um ficheiro de Configuração de Utilizador Dinâmico é:
<?xml version="1.0" encoding="utf-8"?>
<UserConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
O PackageId é o mesmo valor que existe no ficheiro manifesto.
Corpo do ficheiro de Configuração de Utilizador Dinâmico
O corpo do ficheiro de Configuração de Utilizador Dinâmico pode incluir todos os pontos de extensão de aplicação definidos no ficheiro manifesto e as informações para configurar aplicações virtuais. Existem quatro subsecções permitidas no corpo:
Aplicações: todas as extensões de aplicação contidas no ficheiro manifesto dentro de um pacote são atribuídas com um ID da Aplicação, que também está definido no ficheiro de manifesto. Isto permite-lhe ativar ou desativar todas as extensões de uma determinada aplicação num pacote. O ID da Aplicação tem de existir no ficheiro de Manifesto ou será ignorado.
<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 dispostos como subnodes em <Subsystems>, conforme mostrado no exemplo seguinte.
<UserConfiguration **PackageId**="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/userconfiguration">
<Subsystems>
..
</Subsystems>
..
</UserConfiguration>
Cada subsistema pode ser ativado/desativado com o atributo Ativado . As secções seguintes descrevem os vários subsistemas e exemplos de utilização.
Extensões de ficheiro de Configuração de Utilizador Dinâmico
Extensões de controlo de Subsistemas de Extensão. Estes subsistemas são Atalhos, associações File-Type, Protocolos de URL, AppPaths, Clientes de Software e COM.
Os Subsistemas de Extensão podem ser ativados e desativados independentemente do conteúdo. Por conseguinte, se os Atalhos estiverem ativados, o cliente utilizará os atalhos contidos no manifesto por predefinição. Cada Subsistema de Extensão pode conter um <Extensions> nó. Se este elemento subordinado estiver presente, o cliente ignorará o conteúdo no ficheiro de Manifesto desse subsistema e utilizará apenas o conteúdo no ficheiro de configuração.
Exemplos do subsistema de atalhos
Exemplo 1
O conteúdo será ignorado se o utilizador tiver definido as seguintes sintaxes no ficheiro de configuração dinâmica ou de implementação:
<Shortcuts Enabled="true">
<Extensions
...
</Extensions>
</Shortcuts>
Exemplo 2
O conteúdo no manifesto será integrado durante a publicação se o utilizador tiver definido apenas a seguinte sintaxe:
`<Shortcuts Enabled="true"/>`
Exemplo 3
Todos os atalhos no manifesto serão ignorados e não serão integrados atalhos se o utilizador definir as seguintes sintaxes:
<Shortcuts Enabled="true">
<Extensions/>
</Shortcuts>
Subsistemas de Extensão Suportados
Atalhos: este subsistema controla atalhos que serão integrados no sistema local. O exemplo seguinte 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 Ficheiro: associa tipos de ficheiro a programas a abrir por predefinição e a configurar o menu de contexto. (Os tipos de MIME também podem ser configurados com este subsistema.) Um exemplo de uma associação 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 no registo local do computador cliente. O exemplo seguinte 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 a aplicação se registe como um cliente de e-mail, leitor de notícias ou leitor de multimédia e torna a aplicação visível na IU Definir Acesso ao Programa e Predefinições do Computador. Na maioria dos casos, só precisa de a ativar e desativar. Existe também um controlo que lhe permite ativar ou desativar o cliente de e-mail apenas caso pretenda que todos os outros clientes permaneçam como estão.
<SoftwareClients Enabled="true">
<ClientConfiguration EmailEnabled="false" />
</SoftwareClients>
AppPaths: se uma aplicação, como contoso.exe, estiver registada com um nome apppath de "myapp", este subsistema permite-lhe abrir a aplicação ao introduzir "myapp" no menu executar.
<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 uma Aplicação registe servidores COM Locais. O modo pode ser Integração, Isolado ou Desativado. Quando Isol.
<COM Mode="Isolated"/>
Outras definições para o ficheiro de Configuração de Utilizador Dinâmico
Além das Extensões, os seguintes subsistemas podem ser ativados/desativados e editados.
Objetos de Kernel Virtual
<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 Ficheiros Virtual
<FileSystem Enabled="true" />
Tipos de Letra 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" />
UserScripts
Os scripts podem ser utilizados para configurar ou alterar o ambiente virtual e executar scripts na implementação ou remoção, antes de uma aplicação ser executada, ou podem limpo o ambiente após o fim da aplicação. Veja uma saída de ficheiro de Configuração do Utilizador de exemplo pelo sequenciador para ver um script de exemplo. Para obter mais informações sobre os vários acionadores que pode utilizar para configurar scripts, consulte a secção Scripts .
Ficheiro de Configuração de Implementação Dinâmica
Cabeçalho do ficheiro configuração de implementação dinâmica
O cabeçalho de um ficheiro de Configuração de Implementação deve ter um aspeto semelhante ao seguinte:
<?xml version="1.0" encoding="utf-8"?><DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="http://schemas.microsoft.com/appv/2010/deploymentconfiguration">
O PackageId é o mesmo valor que existe no ficheiro manifesto.
Corpo do ficheiro de Configuração de Implementação Dinâmica
O corpo do ficheiro de configuração de implementação inclui duas secções:
- A secção Configuração do Utilizador permite o mesmo conteúdo que o ficheiro de Configuração do Utilizador descrito na secção anterior. Quando o pacote é publicado para um utilizador, todas as definições de configuração de aplicações nesta secção substituirão as definições correspondentes no Manifesto no pacote, a menos que também seja fornecido um ficheiro de configuração de utilizador. Se também for fornecido um ficheiro UserConfig, será utilizado em vez das definições de Utilizador no ficheiro de configuração de implementação. Se o pacote for publicado globalmente, apenas os conteúdos do ficheiro de configuração de implementação serão utilizados em combinação com o manifesto.
- A secção Configuração do Computador contém informações que só podem ser configuradas para um computador inteiro e não para um utilizador específico no computador. Por exemplo, HKEY_LOCAL_MACHINE chaves de registo 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 Utilizador: para obter mais informações sobre esta secção, veja Configuração de Utilizador Dinâmico.
Configuração da Máquina: a secção Configuração da Máquina do Ficheiro de Configuração de Implementação configura informações que só podem ser definidas para um computador inteiro e não para um utilizador específico no computador, como as chaves de registo HKEY_LOCAL_MACHINE no Registo Virtual. Este elemento pode ter as quatro subsecções seguintes.
Subsistemas
As AppExtensions e outros subsistemas são dispostos como subnodes em <Subsystems>:
<MachineConfiguration>
<Subsystems>
..
</Subsystems>
..
</MachineConfiguration>
A secção seguinte descreve os vários subsistemas e exemplos de utilização.
Extensões
Alguns subsistemas (Subsistemas de Extensão) controlam extensões que só podem ser aplicadas a todos os utilizadores. O subsistema são capacidades da aplicação. Uma vez que este subsistema só pode ser aplicado a todos os utilizadores, o pacote tem de ser publicado globalmente para que este tipo de extensão seja integrado no sistema local. As regras para os controlos e definições da extensão de Configuração do Utilizador também se aplicam às da Configuração do Computador.
Capacidades da Aplicação
A extensão de Capacidades da Aplicação é utilizada por programas predefinidos na interface do SO Windows; permite que uma aplicação se registe como capaz de abrir determinadas extensões de ficheiro, como concorrente do bloco de browser da Internet do menu Iniciar e como capaz de abrir determinados tipos de MIME do Windows. Esta extensão também torna a aplicação virtual visível na IU Definir Programas Predefinidos.
<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 definições para o ficheiro de Configuração de Implementação Dinâmica
Pode editar outros subsistemas para além das extensões:
- Registo Virtual ao nível da máquina: utilize este subsistema quando quiser definir uma chave de registo no registo virtual no 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 ao nível da máquina
<Objects>
<NotIsolate>
<Object Name="testObject" />
</NotIsolate>
</Objects>
- ProductSourceURLOptOut: indica se o URL do pacote pode ser modificado globalmente através do PackageSourceRoot para suportar cenários de sucursais. Está definido como Falso por predefinição. As alterações ao valor produzem efeito no próximo lançamento.
<MachineConfiguration>
..
<ProductSourceURLOptOut Enabled="true" />
..
</MachineConfiguration>
MachineScripts: o pacote pode ser configurado para executar scripts após a implementação, publicação ou remoção. Para ver um script de exemplo, veja um ficheiro de configuração de implementação de exemplo gerado pelo sequenciador. A secção seguinte fornece mais informações sobre os vários acionadores que pode utilizar para configurar scripts.
TerminateChildProcess: pode utilizar este subsistema para especificar que os processos subordinados de um executável de aplicação serão terminados quando o processo de application.exe for terminado.
<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 seguinte descreve os vários eventos de script e o contexto em que podem ser executados.
| Tempo de execução do script | Pode ser especificado na Configuração da Implementação | Pode ser especificado na Configuração do Utilizador | Pode ser executado no ambiente virtual do pacote | Pode ser executado no contexto de uma aplicação específica | Execuções no contexto do sistema/utilizador: (Configuração da Implementação, Configuração do Utilizador) |
|---|---|---|---|---|---|
| AddPackage | X | (SISTEMA, N/D) | |||
| PublishPackage | X | X | (SYSTEM, User) | ||
| UnpublishPackage | X | X | (SYSTEM, User) | ||
| RemovePackage | X | (SISTEMA, N/D) | |||
| IniciarProcesso | X | X | X | X | (Utilizador, Utilizador) |
| ExitProcess | X | X | X | (Utilizador, Utilizador) | |
| StartVirtualEnvironment | X | X | X | (Utilizador, Utilizador) | |
| TerminateVirtualEnvironment | X | X | (Utilizador, Utilizador) |
Utilizar vários scripts num único acionador de evento
O App-V suporta a utilização de vários scripts num único acionador de eventos para pacotes App-V, incluindo pacotes que converte do App-V 4.6 para o cliente App-V para Windows. Para ativar a utilização de vários scripts, o App-V utiliza uma aplicação de iniciador de scripts com o nome ScriptRunner.exe, que está incluída no cliente App-V.
Como utilizar vários scripts num único acionador de evento
Para cada script que pretende executar, transmita esse script como um argumento para a aplicação ScriptRunner.exe. A aplicação executará cada script separadamente, juntamente com os argumentos que especificar para cada script. Utilize apenas um script (ScriptRunner.exe) por acionador.
Observação
Recomendamos que execute primeiro a linha de vários scripts a partir de uma linha de comandos para garantir que todos os argumentos são criados corretamente antes de os adicionar ao ficheiro de configuração de implementação.
Descrições de scripts e parâmetros de exemplo
Com o seguinte ficheiro e tabela de exemplo, modifique o ficheiro de configuração do utilizador ou implementação para adicionar os scripts que pretende 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 ficheiro de exemplo | Descrição |
|---|---|
<AddPackage> |
Nome do acionador de evento para o qual está a executar um script, como ao adicionar ou publicar um pacote. |
ScriptRunner.exe |
A aplicação do iniciador de scripts incluída no cliente App-V. Embora ScriptRunner.exe esteja incluída no cliente App-V, a localização do cliente App-V tem de estar em %path% ou o ScriptRunner não será executado. ScriptRunner.exe normalmente, está localizada 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— token que representa o script real que pretende executar.script1.exe— nome do script que pretende executar.arg1 arg2— argumentos para o script que pretende executar.-appvscriptrunnerparameters— token que representa as opções de execução para script1.exe.-wait— token que indica a ScriptRunner para aguardar que a execução de script1.exe seja concluída antes de avançar para o script seguinte.-timeout=x— token que informa ScriptRunner para parar de executar o script atual após x número de segundos. Todos os outros scripts especificados continuarão a ser executados.-rollbackonerror— token que indica ao ScriptRunner para parar de executar todos os scripts que ainda não foram executados e reverter um erro para o cliente App-V. |
<Wait timeout=”40” RollbackOnError=”true”/> |
Aguarda a conclusão geral de ScriptRunner.exe. Defina o valor de tempo limite para que o corredor geral seja maior ou igual à soma dos valores de tempo limite nos scripts individuais. Se algum script individual reportou um erro e rollbackonerror foi definido como Verdadeiro, scriptRunner deve reportar o erro ao cliente App-V. |
O ScriptRunner executará qualquer script cujo tipo de ficheiro esteja associado a uma aplicação instalada no computador. Se a aplicação associada estiver em falta ou o tipo de ficheiro do script não estiver associado a nenhuma das aplicações do computador, o script não será executado.
Criar um ficheiro de Configuração Dinâmica com um ficheiro de Manifesto app-V
Pode criar o ficheiro de Configuração Dinâmica com um de três métodos: manualmente, com a Consola de Gestão app-V ou sequenciando um pacote, o que irá gerar um pacote com dois ficheiros de exemplo.
Para obter mais informações sobre como criar o ficheiro com a Consola de Gestão app-V, veja Como criar um ficheiro de Configuração Personalizada com a Consola de Gestão app-V.
Para criar o ficheiro manualmente, pode combinar os componentes listados nas secções anteriores num único ficheiro. No entanto, recomendamos que utilize ficheiros gerados pelo sequenciador em vez de ficheiros criados manualmente.