“O diretório de instalação deve estar em uma unidade local” msi install error

3

Alguns de nossos usuários em nossa organização começaram a relatar um erro estranho ao instalar nosso produto (detalhes do produto redigidos da captura de tela):

Amensagemdeerrooriginaleminglêsé"O diretório de instalação deve estar em uma unidade local".

Alterar o caminho para algo sem espaços, pastas raiz alternativas ou até mesmo outras unidades físicas na máquina não alteram nada. O instalador ainda insiste em que o caminho não é um caminho local.

Este instalador é criado com o WIX, e a etapa específica no processo é criada com a ação personalizada WixUIValidatePath . Um bug foi submetido anteriormente , que também indica que o erro está relacionado a restrições no instalador ( graças a peterflynn no GitHub por me apontar nessa direção ).

O problema só ocorre em alguns computadores, e parece que ninguém tem o problema no Windows 10. Eu não pude testar se ele ocorre em outras versões do Windows como parte do 8.1, já que o Windows 10 é o apenas versões que executamos.

    
por Johny Skovdal 25.04.2016 / 15:12

1 resposta

5

Depois de muita depuração, reduzimos a problemas com direitos a pastas temporárias com o usuário atual. Etapas diferentes resolveram o problema em computadores diferentes. Aqui vou listar as correções do menos para as abordagens mais invasivas:

  1. Verifique se o instalador é executado como administrador
    Isso é algo que já precisamos, mas alguns usuários tendem a esquecer isso. Essa também é a solução mais comum para o problema que encontrei ao procurar uma solução.
    A maneira mais simples de garantir isso é pressionando WinKey e digite cmd para localizar o prompt de comando e, em seguida, pressione CTRL + SHIFT + ENTER para abrir o prompt de comando como administrador e navegue até a pasta msi (para instruções de navegação, veja este link ) e execute-o a partir daí.
  2. Instalar manualmente o KB3072630
    Alguns de nossos usuários, por algum motivo, não receberam corretamente esta atualização específica do MS que pareceu corrigir o problema! Foi aqui que a maioria dos usuários resolveu o problema.
  3. Execute o instalador silenciosamente
    O bug está relacionado a um componente WIX UI, portanto, a execução silenciosa do MSI não ativará o componente UI e, portanto, o bug também não será acionado. Você pode fazer isso através do prompt de comando, conforme especificado na etapa acima, mas com esses parâmetros adicionados ao MSI:
    /qn+
    Obrigado ao Kr3m no GitHub por essa abordagem
  4. Execute o instalador com a verificação da IU desativada
    O componente do WIX UI que contém tudo também pode ser desativado. AVISO: Isso também desabilitará as verificações de integridade no caminho da instalação e poderá atrapalhar o processo de instalação! Isso pode ser feito com outro parâmetro de linha de comando:
    WIXUI_DONTVALIDATEPATH="1"
    Obrigado ao peterflynn no GitHub por essa abordagem
  5. Desativar LUA
    A única maneira segura de remover o problema era desativar completamente o LUA, que era o padrão para alguns de nossos ambientes, para poder trabalhar com recursos herdados. Desativar o LUA requer alterações manuais no registro, portanto, certifique-se de que você sabe o que está fazendo e as conseqüências disso também. As instruções podem ser encontrado aqui no fórum da MS .

Uma coisa que não testamos, que pode resolvê-lo também, é recriar o usuário no computador, porque achamos que tem a ver com direitos de acesso às próprias pastas temporárias dos usuários. Eles podem ser recriados corretamente por meio da recriação do usuário.

    
por 25.04.2016 / 15:12