Partilhar via


Acerca da configuração dinâmica do App-V 5.1

Com a configuração dinâmica, pode editar o ficheiro de configuração dinâmica para personalizar a forma como um pacote do App-V 5.1 é executado para um utilizador ou grupo. A personalização de pacotes remove a necessidade de voltar a colocar pacotes com as definições pretendidas. Também fornece uma forma de manter o conteúdo do pacote e as definições personalizadas independentes.

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

Quando um pacote é criado, o sequenciador gera a implementação predefinida e a configuração do utilizador .xml ficheiros automaticamente com os dados de manifesto do pacote. Por conseguinte, estes ficheiros gerados refletem as predefinições configuradas durante a sequenciação. Se aplicar estes ficheiros a um pacote no formulário gerado pelo sequenciador, os pacotes têm as mesmas predefinições provenientes do respetivo manifesto.

Utilize estes ficheiros gerados para fazer alterações, se necessário, que não afetam diretamente o pacote. Se quiser adicionar, eliminar ou atualizar os ficheiros de configuração, faça as suas alterações sobre os valores predefinidos nas informações do manifesto.

Dica

A ordem pela qual os ficheiros são lidos são:

  • UserConfig.xml
  • DeploymentConfig.xml
  • Manifesto

A primeira entrada representa o que é lido em último lugar. Por conseguinte, o respetivo conteúdo tem precedência e todos os pacotes contêm e fornecem predefinições do manifesto do pacote.

  1. Se personalizar o ficheiro DeploymentConfig.xml e aplicar as definições personalizadas, as predefinições no manifesto do pacote são substituídas.
  2. Se personalizar o UserConfig.xml e aplicar as definições personalizadas, as predefinições para a configuração da implementação e o manifesto do pacote são substituídas.

Conteúdo do ficheiro de configuração do utilizador (UserConfig.xml)

O ficheiro UserConfig fornece definições de configuração que são aplicadas a um utilizador específico ao implementar o pacote num computador com o cliente App-V 5.1. Estas definições não afetam outros utilizadores no cliente.

Utilize o ficheiro UserConfig para especificar ou modificar as definições personalizadas de um pacote:

  • Extensões integradas no sistema nativo por utilizador: atalhos, associações de tipo de ficheiro, protocolos de URL, AppPaths, clientes de software e COM
  • Subsistemas virtuais: objetos de aplicação, variáveis de ambiente, modificações de registo, serviços e tipos de letra
  • Scripts (apenas contexto de utilizador)
  • Autoridade de gestão (para controlar a coexistência do pacote com o App-V 4.6)

O cabeçalho de um ficheiro de configuração de utilizador dinâmico tem o seguinte aspeto:

<?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 de manifesto.

Body

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 de manifesto, bem como informações para configurar aplicações virtuais. Existem quatro subsecções permitidas no corpo:

  1. Aplicativos
  2. Subsistemas
  3. UserScripts
  4. ManagingAuthority

Aplicativos

Todas as extensões de aplicação contidas no ficheiro de manifesto dentro de um pacote têm um ID de Aplicação atribuído, que pode encontrar no ficheiro de manifesto. O ID da Aplicação 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 é 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 dispostos como subnodes.

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

<Subsystems>

..

</Subsystems>

..

</UserConfiguration>

Pode ativar ou desativar cada subsistema com o atributo Ativado .

Extensões

Alguns subsistemas (subsistemas de extensão) controlam as extensões. Esses subsistemas são Atalhos, associações de 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 exemplo, se ativar atalhos, o cliente utiliza os Atalhos contidos no manifesto por predefinição. Cada subsistema de extensão pode conter um <nó Extensões> . Se este elemento subordinado estiver presente, o cliente ignora o conteúdo no ficheiro de manifesto desse subsistema e utiliza apenas o conteúdo no ficheiro de configuração.

Exemplos:

  • Se o definir no ficheiro de configuração de utilizador ou implementação, o conteúdo no manifesto será ignorado.

    
    <Shortcuts  Enabled="true"\>
    
    <Extensions>
    
    ...
    
    </Extensions>
    
    </Shortcuts>
    
  • Se definir apenas o seguinte, o conteúdo no manifesto será integrado durante a publicação.

    
    <Shortcuts  Enabled="true"/>
    
  • Se definir o seguinte, todos os Atalhos no manifesto continuam a ser ignorados. Por outras palavras, não são integrados atalhos.

    
    <Shortcuts  Enabled="true">
    
       <Extensions/>
    
    </Shortcuts>
    

Subsistemas de extensão suportados:

O subsistema de extensão de atalhos controla que atalhos são integrados no sistema local.


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

O subsistema de extensão File-Type Associates associa tipos de ficheiro a programas a abrir por predefinição, bem como configurar o menu de contexto.

Dica

Pode configurar o subsistema com tipos de 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>

O subsistema de extensão protocolos de URL controla os protocolos de URL integrados no registo local do computador cliente, por exemplo, 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>

O subsistema de extensão Clientes de Software permite que a aplicação se registe como cliente de e-mail, leitor de notícias, leitor de multimédia e torna a aplicação visível na IU Definir acesso ao programa e IU predefinida do computador. Na maioria dos casos, só deve ter de a ativar e desativar. Também existe um controlo para ativar e desativar o cliente de e-mail especificamente se pretender que os outros clientes ainda estejam ativados, exceto para esse cliente.


<SoftwareClients Enabled="true">

  <ClientConfiguration EmailEnabled="false" />

</SoftwareClients>

O subsistema de extensão appPaths abre aplicações registadas com um caminho de aplicação. Por exemplo, se contoso.exe tiver um nome de apppath da minha aplicação, os utilizadores podem escrever myapp a partir do menu executar, abrindo 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>

O subsistema de extensões COM permite uma aplicação registada em servidores COM locais. O modo pode ser:

  • Integração
  • Isolado
  • Desativado

<COM Mode="Isolated"/>

Objetos de Kernel Virtual


<Objects Enabled="false" />

O Registo Virtual define um registo no registo 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>

<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

Utilize UserScripts para configurar ou alterar o ambiente virtual. Também pode executar scripts no momento da implementação ou para limpar o ambiente depois de a aplicação terminar. Para ver um script de exemplo, veja o ficheiro de configuração do utilizador gerado pelo sequenciador. A secção Scripts abaixo fornece mais informações sobre os vários acionadores que podem ser utilizados.

ManagingAuthority

Utilize ManagingAuthority quando duas versões do seu pacote coexistem no mesmo computador, uma implementada no App-V 4.6 e outra implementada no App-V 5.0. Para permitir que o App-V vNext assuma os pontos de extensão app-V 4.6 para o pacote nomeado, introduza o seguinte no ficheiro UserConfig (em que PackageName é o GUID do Pacote no App-V 4.6:


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

Ficheiro de configuração de implementação (DeploymentConfig.xml)

O ficheiro DeploymentConfig fornece definições de configuração para o contexto do computador e o contexto do utilizador, fornecendo as mesmas capacidades listadas no ficheiro UserConfig. A definição é aplicada ao implementar o pacote num computador com o cliente App-V 5.1.

Utilize o ficheiro DeploymentConfig para especificar ou modificar as definições personalizadas de um pacote:

  • Todas as definições de UserConfig
  • Extensões que só podem ser aplicadas globalmente a todos os utilizadores
  • Subsistemas virtuais para localizações globais de máquinas, por exemplo, registo
  • URL da origem do produto
  • Scripts (apenas contexto de computador)
  • Controlos para terminar processos subordinados

Cabeçalho

O cabeçalho de um ficheiro de configuração de implementação dinâmica tem o seguinte aspeto:

<?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 de manifesto.

Body

O corpo do ficheiro de configuração de implementação dinâmica inclui duas secções:

  • UserConfiguration: permite o mesmo conteúdo que o ficheiro de configuração de utilizador descrito na secção anterior. Ao publicar o pacote para um utilizador, as definições de configuração de aplicações nesta secção substituem as definições correspondentes no manifesto no pacote, a menos que forneça um ficheiro de configuração de utilizador. Se também fornecer um ficheiro UserConfig, este será utilizado em vez das definições do Utilizador no ficheiro de configuração de implementação. Se publicar o pacote globalmente, apenas os conteúdos do ficheiro de configuração de implementação são utilizados em combinação com o manifesto. Para obter mais detalhes, veja Conteúdo do ficheiro de configuração do utilizador (UserConfig.xml).

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

UserConfiguration

Consulte Conteúdo do ficheiro de configuração do utilizador (UserConfig.xml) para obter informações sobre as definições fornecidas para esta secção.

MachineConfiguration

Utilize a secção MachineConfiguration para configurar informações para um computador inteiro; não para um utilizador específico no computador. Por exemplo, HKEY_LOCAL_MACHINE chaves de registo no registo virtual. Existem quatro subsecções permitidas neste elemento:

  1. Subsistemas
  2. ProductSourceURLOptOut
  3. MachineScripts
  4. TerminateChildProcess

Subsistemas

AppExtensions e outros subsistemas dispostos como subnodes.


<MachineConfiguration>

  <Subsystems>

  …

  </Subsystems>

…

</MachineConfiguration>

Pode ativar ou desativar cada subsistema com o atributo Ativado .

Extensões

Alguns subsistemas (subsistemas de extensão) controlam as extensões. O subsistema é Capacidades de Aplicação que os programas predefinidos utilizam. Para este tipo de extensão, o pacote tem de ser publicado globalmente para integração no sistema local. As mesmas regras para controlos e definições que se aplicam às Extensões na Configuração do Utilizador também se aplicam às da secção MachineConfiguration.

Capacidades da Aplicação: utilizados por programas predefinidos que permitem que uma aplicação se registe como:

  • Capaz de abrir extensões de ficheiro específicas
  • Um candidato para o bloco do browser do menu Iniciar
  • Capaz de abrir tipos de MIME do windows específicos

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>

Subsistemas de extensão suportados:

O subsistema de extensão do Registo Virtual de Toda a Máquina define 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 de Toda a Máquina


<Objects>

<NotIsolate>

   <Object Name="testObject" />

 </NotIsolate>

</Objects>

ProductSourceURLOptOut

Utilize ProductSourceURLOptOut para indicar que o URL do pacote pode ser modificado globalmente através do PackageSourceRoot (para suportar cenários de sucursais). As alterações têm efeito no próximo lançamento.


<MachineConfiguration>

  ...

  <ProductSourceURLOptOut Enabled="true" />

  ...

</MachineConfiguration>

MachineScripts

O pacote pode ser configurado para executar scripts no momento da implementação, publicação ou remoção. Para ver um script de exemplo, veja o ficheiro de configuração de implementação gerado pelo sequenciador.

A secção Scripts abaixo fornece mais informações sobre os vários acionadores que podem ser utilizados.

TerminateChildProcess

Pode especificar um executável de aplicação cujos processos subordinados são terminados quando o processo de exe da aplicação termina.


<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 5.1 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 App-V 5.0 ou posterior. Para ativar a utilização de vários scripts, o App-V 5.1 utiliza uma aplicação de iniciador de scripts com o nome ScriptRunner.exe, que é instalada como parte da instalação do 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. Em seguida, a aplicação executa 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âmetros no ficheiro de exemplo

<AddPackage>

Nome do acionador de evento para o qual está a executar um script, como adicionar um pacote ou publicar um pacote.

<Caminho>ScriptRunner.exe</Caminho>

A aplicação do iniciador de scripts que é instalada como parte da instalação do cliente App-V.

Observação

Embora ScriptRunner.exe esteja instalado como parte do cliente App-V, a localização do cliente App-V tem de estar em %path% ou o ScriptRunner não será executado. ScriptRunner.exe está normalmente localizada na pasta C:FilesApplication Virtualization.

<Argumentos>

-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 informa ScriptRunner para aguardar a execução de script1.exe para concluir 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 ainda são executados.

-rollbackonerror - Token que informa o ScriptRunner para parar de executar todos os scripts que ainda não foram executados e reverter um erro para o cliente App-V.

<Tempo limite de espera="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 reportasse um erro e rollbackonerror estivesse definido como verdadeiro, ScriptRunner reportaria o erro ao cliente App-V.

ScriptRunner executa 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 aplicação no computador, o script não é executado.

Criar um ficheiro de configuração dinâmico com um ficheiro de manifesto app-V 5.1

Pode criar o ficheiro de configuração dinâmica com um de três métodos: manualmente, através da Consola de Gestão do App-V 5.1 ou da sequenciação de um pacote, que gera dois ficheiros de exemplo. Para obter mais informações sobre como criar o ficheiro com a Consola de Gestão do App-V 5.1, consulte Como criar um Ficheiro de configuração personalizado com a Consola de Gestão do App-V 5.1.

Para criar o ficheiro manualmente, as informações acima nas secções anteriores podem ser combinadas num único ficheiro. Recomendamos que utilize os ficheiros gerados pelo sequenciador.