Compartilhar via


Sobre a configuração dinâmica do App-V 5.1

Aplica-se a: Application Virtualization 5.1

É possível usar a configuração dinâmica para personalizar um pacote do App-V 5.1 para um usuário. Use as informações a seguir para criar ou editar um arquivo de configuração dinâmica existente.

Ao editar o arquivo de configuração dinâmica, ele personaliza a maneira como um pacote do App-V 5.1 será executado para um usuário ou grupo. Isso ajuda a fornecer um método mais conveniente de personalização de pacotes, eliminando a necessidade de sequenciar novamente os pacotes usando as configurações desejadas, e fornece uma forma de manter o conteúdo do pacote e configurações personalizadas independentes.

Avançado: Configuração dinâmica

Pacotes de aplicativos virtuais contêm um manifesto que fornece todas as principais informações para o pacote. Essas informações incluem os padrões para as configurações do pacote e determina as configurações na forma mais básica (sem nenhuma personalização adicional). Se você quiser ajustar esses padrões para um determinado usuário ou grupo, poderá criar e editar os arquivos a seguir:

  • Arquivo de configuração do usuário

  • Arquivo de configuração da implantação

Os arquivos.xml anteriores especificam configurações do pacote e permitem que os pacotes sejam personalizados sem afetar diretamente os pacotes. Quando um pacote é criado, o sequenciador gera automaticamente a implantação padrão e arquivos .xml de configuração do usuário usando os dados manifestos do pacote. Portanto, esses arquivos de configuração gerados automaticamente simplesmente refletem as configurações padrão intrínsecas do pacote, de como as coisas foram configuradas 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 que vieram com seu manifesto. Isso fornece um modelo específicos do pacote para começar se qualquer um dos padrões precisar ser alterado.

Dica

As informações a seguir só podem ser usadas para modificar arquivos de configuração gerados pelo sequenciador para personalizar pacotes a fim de atender aos requisitos de grupo ou usuário específico.

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 os valores padrão especificados pelas informações do manifesto do pacote. Examine a tabela a seguir:

Arquivo .xml de configuração do usuário

Arquivo .xml de configuração de implantação

Manifesto de pacote

A tabela anterior representa como os arquivos serão lidos. A primeira entrada representa o que será lido pela última, portanto, seu conteúdo terá precedência. Desta maneira, todos os pacotes inerentemente contêm e fornecem as configurações padrão do manifesto de pacote. Se um arquivo .xml de configuração de implantação com configurações personalizadas for aplicado, ele substituirá os padrões de manifesto do pacote. Se um arquivo .xml de configuração de usuário com configurações personalizadas for aplicado antes disso, ele substituirá a configuração de implantação e os padrões de manifesto do pacote.

A lista a seguir exibe mais informações sobre os dois tipos de arquivos:

  • Arquivo de configuração do usuário (UserConfig) – permite especificar ou modificar as configurações personalizadas para um pacote. Essas configurações serão aplicadas a um usuário específico quando o pacote for implantado para um computador executando o cliente App-V 5.1.

  • Arquivo de configuração da implantação (DeploymentConfig) – permite especificar ou modificar as configurações padrão para um pacote. Essas configurações serão aplicadas a todos os usuários quando um pacote for implantado para um computador executando o cliente App-V 5.1.

Para personalizar as configurações para um pacote para um conjunto de usuários especificado em um computador ou fazer alterações que serão aplicadas a localizações do usuário local, como HKCU, o arquivo UserConfig deverá ser usado. 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 todas as pastas de usuários, o arquivo DeploymentConfig deverá ser usado.

O arquivo UserConfig fornece definições de configuração que podem ser aplicadas a um único usuário sem afetar os outros usuários em um cliente:

  • Extensões que serão integradas ao sistema nativo por usuário:- atalhos, associações de tipo de arquivo, protocolos de URL, AppPaths, clientes de software e COM

  • Subsistemas virtuais:- objetos de aplicativo, variáveis de ambiente, modificações de registro, serviços e fontes

  • Scripts (apenas contexto do usuário)

  • Autoridade de gerenciamento (para controlar a coexistência do pacote com o App-V 4.6)

O arquivo DeploymentConfig fornece definições de configuração em duas seções, uma relativa ao contexto do computador e outra relativa ao contexto do usuário, fornecendo as mesmas capacidades relacionadas na lista UserConfig acima:

  • Todas as configurações UserConfig acima

  • Extensões que só podem ser aplicadas globalmente a todos os usuários

  • Subsistemas virtuais que podem ser configurados para locais de computadores globais, como registro

  • URL da origem do produto

  • Scripts (apenas contexto do computador)

  • Controles para encerrar processos filhos

Estrutura de arquivos

A estrutura do arquivo de configuração dinâmica do App-V 5.1 é explicada na seção a seguir.

Arquivo de configuração dinâmica do usuário

Cabeçalho - o cabeçalho de um arquivo de configuração dinâmica do usuário é o seguinte:

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

O PackageId é igual ao valor existente no arquivo de Manifesto.

Corpo - 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, bem como as informações para configurar aplicativos virtuais. Há quatro subseções permitidas no corpo:

  1. Aplicativos - todas as extensões de aplicativo contidas no arquivo de Manifesto dentro de um pacote são atribuídas a um ID de aplicativo, que também é definido no arquivo de manifesto. Isso permite habilitar ou desabilitar todas as extensões para um determinado aplicativo dentro de um pacote. O ID do Aplicativo deve existir no arquivo de Manifesto, ou será ignorado.

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

    <Aplicativos>

    <!-- Nenhum aplicativo novo pode ser definido na política. O cliente do AppV irá ignorar qualquer ID de aplicativo que não esteja também no arquivo de manifesto -->

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

    </Application>

    </Applications>

    </UserConfiguration>

  2. Subsystems - AppExtensions e outros subsistemas são organizados como subnós em <Subsystems>:

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

    <Subsistemas>

    ..

    </Subsystems>

    ..

    </UserConfiguration>

    Cada subsistema pode ser habilitado/desabilitado com o atributo “Habilitado”. Seguem os vários subsistemas e amostras de uso.

    Extensões:

    Alguns subsistemas (Subsistemas de extensão) controlam as Extensões. Esses subsistemas são:- atalhos, associações de tipo de arquivo, protocolos de URL, AppPaths, clientes de software e COM

    Os Subsistemas de extensão podem ser habilitados e desabilitados de modo independente do contexto. Assim, se os Atalhos forem habilitados, o cliente usará os atalhos contidos no manifesto por padrão. Cada subsistema de extensão pode conter um nó <Extensões>. Se esse elemento filho estiver presente, o cliente ignorará o conteúdo no arquivo de manifesto para o subsistema e usará apenas o conteúdo no arquivo de configuração.

    Exemplo usando o subsistema de atalhos:

    1. Se o usuário tiver definido isso no arquivo de configuração dinâmica ou de implantação:

                                   <Atalhos Habilitados = "true">

                                               <Extensões>

                                                ...

                                               </Extensions>

                                   </Shortcuts>

                        O conteúdo do manifesto será ignorado.   

    2. Se o usuário tiver definido apenas o seguinte:

                                  <Atalhos Habilitados = "true" />

                        O conteúdo do Manifesto será integrado durante a publicação.

    3. Se o usuário definir o seguinte

                                 <Atalhos Habilitados = "true">

                                               <Extensions/>

                                   </Shortcuts>

    Então todos os atalhos dentro do manifesto continuarão sendo ignorados. Não haverá atalhos integrados.

    Os Subsistemas de extensão com suporte são:

    Atalhos: Controla atalhos que serão integrados ao sistema local. Abaixo segue uma amostra com dois atalhos:

    <Subsistemas>

    <Atalhos Habilitados = "true">

      <Extensões>

        <Categoria de Extensão="AppV.Shortcut">

          <Atalho>

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

            <Descrição<Preencher formulários dinâmicos para coletar e reutilizar informações em toda a organização usando o Microsoft ContosoApp.>/Descrição>

            <Hotkey>0</Hotkey>

            <ShowCommand>1</ShowCommand>

            <ApplicationId>[{PackageRoot}]\Contoso\ContosoApp.EXE</ApplicationId>

          </Shortcut>

      </Extension>

      <Categoria de Extensão="AppV.Shortcut">

        <Atalho>

          <File>[{AppData}]\Microsoft\Contoso\Recent\Templates.LNK</File>

          <Target>[{AppData}]\Microsoft\Templates</Target>

          <Icon />

          <Arguments />

          <WorkingDirectory />

          <AppUserModelId />

          <Description />

          <Hotkey>0</Hotkey>

          <ShowCommand>1</ShowCommand>

          <!-- Observe que ApplicationId é opcional –>

        </Shortcut>

      </Extension>

     </Extensions>

    </Shortcuts>

    Associações de tipo de arquivo: Associa tipos de arquivo com programas para abrir por padrão, além de configurar o menu de contexto. (Os tipos MIME também podem ser configurados usando esse subsistema.) A associação de tipo de arquivo de amostra é apresentada a seguir:

    <FileTypeAssociations Enabled="true">

    <Extensões>

      <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: Controla os protocolos de URL integrados ao registro local do computador cliente, por exemplo, “mailto:”.

    <URLProtocols Enabled="true">

    <Extensões>

    <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, reprodutor de mídia e torna o aplicativo visível na interface do usuário Definir acesso do programa e padrões do computador. Na maioria dos casos, só é preciso habilitar e desabilitar essa opção. Também há um controle para habilitar e desabilitar o cliente de email especificamente se você desejar que outros clientes continuem habilitados, exceto esse cliente.

    <SoftwareClients Enabled="true">

      <ClientConfiguration EmailEnabled="false" />

    </SoftwareClients>

    AppPaths:- se um aplicativo, por exemplo, contoso.exe, estiver registrado com um nome apppath de “myapp”, permite digitar “myapp” no menu de execução, abrindo contoso.exe.

    <AppPaths Enabled="true">

    <Extensões>

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

    Além de Extensões, outros subsistemas podem ser habilitados/desabilitados e editados:

    Objetos de kernel virtuais:

    <Objects Enabled="false" />

    Registro virtual: Usado se você desejar definir um registro no Registro virtual no 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>

    <Excluir>

      </Registry>

    Sistema de arquivos virtual

          <FileSystem Enabled="true" />

    Fontes virtuais

          <Fonts Enabled="false" />

    Variáveis de ambientes virtuais

    <EnvironmentVariables Enabled="true">

    <Include>

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

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

           </Include>

          <Excluir>

           <Variable Name="lib" />

            </Delete>

            </EnvironmentVariables>

    Serviços virtuais

          <Services Enabled="false" />

  3. UserScripts – os scripts podem ser usados para configurar ou alterar o ambiente virtual, além de executar scripts no momento da implantação ou remoção, antes de um aplicativo executar, ou podem ser usados para "limpar" o ambiente após o encerramento do aplicativo. Consulte o arquivo de configuração do usuário de amostra produzido pelo sequenciador para ver um script de amostra. A seção Scripts abaixo fornece mais informações sobre os vários acionadores que podem ser usados.

  4. ManagingAuthority – pode ser usado quando duas versões do seu pacote coexistem no mesmo computador, uma implantada para o App-V 4.6 e outra no App-V 5.0. Para permitir ao App-V vNext assumir os pontos de extensão do App-V 4.6 para o pacote nomeado, insira o seguinte no arquivo UserConfig (em que PackageName é o GUID do Pacote no App-V 4.6:

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

Arquivo de configuração dinâmica da implantação

Cabeçalho - o cabeçalho de um arquivo de configuração da implantação é o seguinte:

<?xml version="1.0" encoding="utf-8"?><DeploymentConfiguration PackageId="1f8488bf-2257-46b4-b27f-09c9dbaae707" DisplayName="Reserved" xmlns="https://schemas.microsoft.com/appv/2010/deploymentconfiguration">

O PackageId é igual ao valor existente no arquivo de manifesto.

Corpo - o corpo do arquivo de configuração da implantação inclui duas seções:

  • Seção de configuração do usuário - permite o mesmo conteúdo do arquivo de Configuração do usuário descrito na seção anterior. Quando um pacote é publicado para um usuário, todas as definições de configuração de appextensions nessa seção substituirão as configurações correspondentes no Manifesto dentro do pacote, a menos que um arquivo de configuração de usuário também seja fornecido. Se um arquivo UserConfig também for fornecido, ele será usado no lugar das configurações do usuário no arquivo de configuração da implantação. Se o pacote for publicado globalmente, apenas os conteúdos do arquivo de configuração da implantação serão usados em combinação com o manifesto.

  • Seção de Configuração do computador – contém informações que podem ser configuradas apenas para um computador inteiro, não para um usuário específico no computador. Por exemplo, chaves de registro HKEY_LOCAL_MACHINE no VFS.

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

<UserConfiguration>

  ..

</UserConfiguration>

<MachineConfiguration>

..

</ MachineConfiguration>

..

</ MachineConfiguration>

</DeploymentConfiguration>

Configuração do usuário - use a seção Arquivo de configuração dinâmica do usuário anterior para obter informações sobre as configurações fornecidas na seção de configuração do usuário do arquivo de configuração da implantação.

Configuração do computador - a seção de Configuração do computador do Arquivo de configuração da implantação é usada para configurar informações que podem ser definidas apenas para um computador inteiro, não para um usuário específico no computador. Por exemplo, chaves de registro HKEY_LOCAL_MACHINE no Registro virtual. Há quatro subseções permitidas nesse elemento

  1. Subsystems - AppExtensions e outros subsistemas são organizados como subnós em <Subsystems>:

    <MachineConfiguration>

      <Subsistemas>

      ..

      </Subsystems>

    ..

    </ MachineConfiguration>

    A seção a seguir exibe os vários subsistemas e amostras de uso.

    Extensões:

    Alguns subsistemas (Subsistemas de extensão) controlam as Extensões que podem ser aplicadas apenas a todos os usuários. O subsistema é composto por recursos do aplicativo. Como 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 mesmas regras para controles e configurações que se aplicam a Extensões na configuração do usuário também se aplicam àquelas da seção MachineConfiguration.

    Recursos do aplicativo: Usado por programas padrão na interface do sistema operacional Windows. Permite que um aplicativo registre-se como capaz de abrir certas extensões de arquivo, como um contentor para o slot de navegador da Internet do menu Iniciar, capaz de abrir certos 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">

      <Extensões>

       <Categoria de Extensão="AppV.ApplicationCapabilities">

        <ApplicationCapabilities>

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

         <Referência>

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

    Além de extensões, outros subsistemas podem ser editados:

    Registro virtual amplo do computador: Usado quando você deseja definir uma chave de registro no registro virtual dentro de HKEY_Local_Machine

    <Registro>

    <Include>

      <Caminho da Chave="\REGISTRY\Machine\Software\ABC">

        <Tipo de Valor="REG_SZ" Name="Bar" Data="Baz" />

       </Key>

      <Caminho da Chave="\REGISTRY\Machine\Software\EmptyKey" />

     </Include>

    <Excluir>

    </Registry>

    Objetos de kernel virtuais amplos do computador

    <Objects>

    <NotIsolate>

       <Nome do Objeto="testObject" />

     </NotIsolate>

    </Objects>

  2. ProductSourceURLOptOut: Indica se a URL do pacote pode ser modificada globalmente por meio de PackageSourceRoot (para oferecer suporte a cenários da filial). O padrão é falso e a alteração na configuração entra em vigor na próxima ativação.  

    <MachineConfiguration>

      .. 

      <ProductSourceURLOptOut Enabled="true" />

      ..

    </ MachineConfiguration>

  3. MachineScripts – o pacote pode ser configurado para executar scripts no momento da implantação, publicação ou remoção. Consulte o arquivo de configuração da implantação de amostra gerado pelo sequenciador para ver um script de amostra. A seção Scripts abaixo fornece mais informações sobre os vários acionadores que podem ser usados

  4. TerminateChildProcess:- é possível especificar um executável de aplicativo cujos processos filhos serão encerrados quando o processo exe do aplicativo for encerrado.

    <MachineConfiguration>

      ..   

      <TerminateChildProcesses>

        <Caminho do Aplicativo="[{PackageRoot}]\Contoso\ContosoApp.EXE" />

        <Caminho do Aplicativo="[{PackageRoot}]\LitView\LitViewBrowser.exe" />

        <Caminho do Aplicativo="[{ProgramFilesX86}]\Microsoft Contoso\Contoso\contosomail.EXE" />

      </TerminateChildProcesses>

      ..

    </ MachineConfiguration>

Scripts

A tabela a seguir descreve os vários eventos de script e o contexto sob o qual eles podem ser executados.

Tempo de execução do script Pode ser especificado na configuração da implantação Pode ser especificado na configuração do usuário Pode executar no ambiente virtual do pacote Pode ser executado no contexto de um aplicativo específico Executa no contexto do sistema/usuário: (Configuração da implantação, configuração do usuário)

AddPackage

X

(SYSTEM, N/A)

PublishPackage

X

X

(SYSTEM, User)

UnpublishPackage

X

X

(SYSTEM, User)

RemovePackage

X

(SYSTEM, N/A)

StartProcess

X

X

X

X

(User, User)

ExitProcess

X

X

X

(User, User)

StartVirtualEnvironment

X

X

X

(User, User)

TerminateVirtualEnvironment

X

X

(User, User)

Usar vários scripts em um gatilho de evento único

App-V 5.1 suporta o uso de vários scripts em um gatilho de evento único para pacotes do App-V, incluindo pacotes que você converter do App-V 4.6 para o App-V 5.0 ou posterior. Para habilitar o uso de vários scripts, o App-V 5.1 usa um aplicativo de iniciador de script, chamado ScriptRunner.exe, que é instalado como parte da instalação do cliente do App-V.

Como usar vários scripts em um gatilho de evento único:

Para cada script que você deseja executar, passe esse script como um argumento para o aplicativo ScriptRunner.exe. Em seguida, o aplicativo executa cada script separadamente, juntamente com os argumentos especificados para cada script. Use somente um script (ScriptRunner.exe) por gatilho.

Dica

É recomendável que você execute a linha com vários script em um prompt de comando primeiro para certificar-se de que todos os argumentos são criados corretamente antes de serem adicionados ao arquivo de configuração de implantação.

Descrições de script e parâmetro de exemplo

Usando o seguinte exemplo de arquivo e tabela, modifique o arquivo de configuração de implantação ou 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 adição de um pacote ou publicação de um pacote.

<Path>ScriptRunner.exe</Path>

O aplicativo do iniciador de script que é instalado como parte da instalação do cliente App-V.

Dica

Embora o ScriptRunner.exe seja instalado como parte do cliente App-V, o local do cliente App-V deve estar no %path% ou o ScriptRunner não será executado. Normalmente, o ScriptRunner.exe fica localizado em C:\Program Files\Microsoft Application Virtualization\Client folder.

<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 - Token que representa o script real que você deseja executar.

script1.exe – O nome do script que você deseja executar.

arg1 arg2 – Argumentos 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 de script1.exe para concluir antes de prosseguir para o próximo script.

-timeout=x – Token que informa ao ScriptRunner para interromper a execução do script atual após x segundos. Todos os outros scripts especificados ainda serão executados.

-rollbackonerror – Token que informa ao ScriptRunner para parar 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 ser maior ou igual à soma dos valores de tempo limite dos scripts individuais.

Se qualquer script individual relatou um erro e rollbackonerror foi definido como true, então o ScriptRunner deve relatar o erro ao cliente do App-V.

O ScriptRunner executará qualquer script cujo tipo de arquivo está associado com um aplicativo instalado no computador. Se o aplicativo associado está ausente ou o tipo de arquivo do script não está associado a nenhum aplicativo no computador, o script não será executado.

Criar um arquivo de configuração dinâmica usando um arquivo de Manifesto do App-V 5.1

É possível criar o arquivo de configuração dinâmica usando um entre três métodos: manualmente, usando o Console de gerenciamento do App-V 5.1 ou sequenciando um pacote, que será gerado com dois arquivos de amostra.

Para obter mais informações sobre como criar o arquivo usando o Console de gerenciamento do App-V 5.1, consulte Como criar um arquivo de configuração personalizada usando o Console de gerenciamento do App-V 5.1.

Para criar o arquivo manualmente, as informações das seções anteriores podem ser combinadas em um único arquivo. Recomendamos usar arquivos gerados pelo sequenciador.

Você tem uma sugestão para o App-V?

Adicione ou vote em sugestões aqui. Para problemas com o App-V, utilize o Fórum App-V TechNet.

Consulte também

Tarefas

Como aplicar o arquivo de configuração de implantação usando o PowerShell
Como aplicar o arquivo de configuração do usuário usando o PowerShell

Outros recursos

Operações do App-V 5.1

-----
Você pode saber mais sobre o MDOP na TechNet Library, pesquisar soluções de problemas no TechNet Wiki ou seguir-nos no Facebook ou Twitter.
-----