Regras de detecção na distribuição de aplicativo
As regras de detecção de pacotes da distribuição de aplicativo ajudam a determinar se um pacote já está instalado e, portanto, não deve ser instalado novamente.
Configure as regras de detecção em Distribuição de aplicativo > Catálogo de aplicativos. Adicione ou edite um aplicativo e selecione a guia Pacote.
As regras de detecção são verificadas apenas no início do processamento, de modo que serão sempre o primeiro item no construtor se forem usadas. Regras de detecção são executadas na ordem em que estão definidas.
IMPORTANTE: se alguma etapa de detecção der resultado verdadeiro, o processamento do pacote será interrompido, e o estado do aplicativo dos dispositivos será exibido como conforme.
Aqui estão as regras de detecção disponíveis:
Forneça o caminho completo e o nome do arquivo. Selecione Existe ou Não existe.
As informações de versão do arquivo geralmente estão disponíveis apenas para arquivos executáveis. A distribuição de aplicativo usa o valor "Versão do arquivo", não o valor "Versão do produto". Forneça o caminho completo e o nome do arquivo. O operador pode assumir variantes de menor ou maior que, igual ou está entre. Se o arquivo e o caminho especificados não existirem ou o arquivo não tiver uma versão analisável, será retornado falso.
Para informações sobre como funcionam os operadores de versão e comparação, consulte este artigo da Microsoft.
Forneça o caminho completo e o nome do arquivo. Especifique o tamanho do arquivo em bytes. A distribuição de aplicativo usa "Tamanho", e não "Tamanho no disco". Se o arquivo e o caminho especificados não existirem, será retornado falso.
Forneça o caminho completo e o nome do arquivo. Selecione o comprimento de bits SHA-2 que você está comparando. Se o arquivo e o caminho especificados não existirem, será retornado falso. Você pode usar o PowerShell para gerar um resumo de hash:
-
Get-FileHash -Algorithm SHA256 -Path C:\MyApp\myfile.exe
Essa regra analisa apenas a data, não a hora. Forneça o caminho completo e o nome do arquivo. Selecione um operador, como Igual a. A data do arquivo deve ser especificada em UTC (hora universal coordenada), coincidente com seu equivalente local do formato mm/dd/aaa. A distribuição de aplicativo usa a data de "Modificação", e não a data de "Criação". Se o arquivo e o caminho especificados não existirem, será retornado falso. Você pode usar o PowerShell para recuperar a data do arquivo em UTC:
-
(Get-Item C:\MyApp\myfile.exe).LastWriteTimeUtc
Forneça o GUID do código do produto MSI e selecione se o MSI Está instalado ou Não está instalado. Use a ferramenta Orca da Microsoft para visualizar o GUID "ProductCode". Você também pode ver os GUIDs de MSI instalados nestas chaves de registro:
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall
- HKLM\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall
- HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall
Forneça o nome completo do pacote MSIX e se o MSIX Está instalado ou Não está instalado. Use o comando Get-AppxPackage do PowerShell para encontrar o nome completo do pacote, conforme a Microsoft descreve aqui.
Forneça as informações da chave que você deseja detectar.
- Versão do registro: selecione 32 bits ou 64 bits conforme apropriado; ou você pode selecionar Sistema se quiser equiparar a versão que o dispositivo de destino está usando.
- Chave raiz: selecione a chave raiz que contém a chave que você deseja detectar, como HKEY_LOCAL_MACHINE.
- Chave: insira o caminho completo (não incluir a chave raiz que você já especificou) até o nome da chave de registro que deseja detectar.
- Especifique Existe ou Não existe
Forneça a chave do registro e as informações do valor a ser detectado. Se a chave ou valor não existir ou não estiver acessível ao usuário, a regra retornará falso (a menos que o operador de comparação seja Não existe).
Você deve especificar um nome de valor, a menos que queira verificar o valor "(Padrão)", caso em que deve ser deixado em branco.
Ao fazer uma comparação de versões, os operandos de comparação e os dados associados ao valor do registro devem estar no formato de versão descrito aqui. Se algum deles não estiver, as regras de detecção (e o pacote) gerarão um erro.
Para informações sobre como funcionam os operadores de versão e comparação, consulte este artigo da Microsoft.
A comparação de strings diferencia maiúsculas de minúsculas. Se o valor do registro possuir dados que não sejam do tipo REGSZ (String), ele será convertido em uma string da seguinte forma:
- REG_DWORD: usa-se a forma decimal (conforme mostrado em regedit.exe).
- REG_QWORD: usa-se forma decimal (conforme mostrado em regedit.exe).
- REG_BINARY: usa-se o formato de par de bytes usado pelo regedit.exe, mas em letras maiúsculas (por exemplo, "46 AA 6C 6B 65 6E").
- REG_MULTI_SZ: as linhas são concatenadas com espaços para formar uma única linha (por exemplo, "Linha1 Linha2 Linha3").
- REG_EXPAND_SZ: todas as variáveis de ambiente são expandidas.
Os scripts de detecção podem usar PowerShell (não o PowerShell Core) ou sintaxe em lote. O sucesso da detecção baseia-se código de saída numérico do script. O código de saída "0" (zero) equivale a verdadeiro. Qualquer outro código de saída é considerado falso. O código de saída deve ser numérico, e não a palavra "Verdadeiro" (ou "True"). Use o editor de script integrado para criar seu script.
Use o editor de script integrado para criar um script ou use a opção Selecionar arquivo e procurar um arquivo. O arquivo e o caminho fornecidos devem existir no sistema de destino. Se o arquivo de script ainda não estiver no dispositivo, use a ação Baixar arquivo para colocá-lo lá. Quando você faz isso, o arquivo baixado é colocado num caminho predefinido, e você pode apenas especificar o nome dele.
Como as regras de detecção são executadas antes de outras ações do pacote, os scripts das regras de detecção são colocados em um estágio próprio no processo de instalação do aplicativo. É possível fazer coisas mais complexas aqui, como executar um script de atualização personalizado que procura uma instalação de aplicativo mais antiga e, se a encontrar, desinstala-a antes de prosseguir com o restante do pacote.
Regra de detecção e log de ações
A distribuição de aplicativo cria um arquivo de log para cada aplicativo implantado em um dispositivo. O log possui entradas para cada regra de detecção e outras ações do pacote. Se as regras de detecção não estiverem funcionando conforme o esperado, use o arquivo de log para ajudar a determinar o motivo. Os logs são armazenados, em cada dispositivo, nesta pasta:
- C:\ProgramData\Ivanti\Ivanti Cloud Agent\Logs\SWDApps
O nome de cada arquivo de log inclui o GUID do pacote. Se você editar um pacote no Catálogo de Aplicativos, poderá ver o GUID do pacote no URL do navegador da web. Isso ajudará você a encontrar o arquivo de log no qual está interessado.
Você pode visualizar um log simplificado, remotamente, na página Distribuição de aplicativo > Status da implantação. Encontre o dispositivo e o pacote que deseja ver e, à direita, selecione a opção Exibir log no menu de ação.