Partilhar via


Solucionando problemas de implantação do Windows Installer

Os tópicos desta seção abordam vários problemas que podem ocorrer quando você cria projetos de implantação e implantar aplicativos.

Um aplicativo MFC não é localizado quando ele é instalado em um computador em que a localidade não é inglês

Ao implantar um aplicativo MFC usando um Visual Studio projeto de implantação, dependências para os módulos de mesclagem localizadas Mfc_loc_e.msm e Mfc_loc_fe.msm não são detectados. Os módulos de mesclagem estão incluídos no Visual C++; o local de instalação padrão é \programa arquivo\Common\Merge módulos.Para distribuir um aplicativo MFC localizado, você precisará adicionar manualmente os módulos de mesclagem de dois a seu projeto de implantação.Para obter mais informações, consulte Implantação e dependências.

Não foram detectadas dependências de assembly

Durante a impressão um projeto agrupar, assembly ou módulo de mesclagem são adicionados a um projeto de implantação, qualquer assembly dependente é automaticamente detectados e adicionados ao projeto.Se um conjunto dependente estiver carregado em time de execução por meio do código, não podem ser detectado pelas ferramentas de implantação.Você deve evitar o carregamento de assemblies de código, se você pode, ou adicionar manualmente os assemblies dependentes ao seu projeto de implantação.Para obter mais informações, consulte Implantação e dependências.

Não é possível encontrar arquivos em um servidor Web depois que eles estiverem instalados

Ao instalar um Web Setup em um servidor Web, a VirtualDirectory propriedade para a pasta de aplicativo Web e todas as pastas da Web personalizada determina onde os arquivos incluídos nessas pastas serão instalados relativos à raiz da Web.Se esta propriedade for deixada em branco, os arquivos serão instalados na pasta raiz da Web (inetpub\wwwroot).Para obter mais informações, consulte Propriedade VirtualDirectory.

Como instalar um aplicativo Web para o diretório raiz do servidor Web?

Por padrão, quando você instala um aplicativo Web usando um projeto de implantação Web Setup, arquivos são instalados em uma pasta que tenha o mesmo nome que o projeto de implantação diretamente abaixo de pasta raiz da Web.The VirtualDirectorypropriedade da pasta Web aplicativo Web determina onde os arquivos são instalados.Para instalar o diretório raiz da Web, altere o VirtualDirectory propriedade null (exclua o valor padrão). Para obter mais informações, consulte Propriedade VirtualDirectory.

Aplicações Web implantadas usando o comando Xcopy não podem ser depuradas

Quando um aplicativo Web Web é copiado para um servidor Web usando o Xcopy comando, Serviços de Informações da Internet (Serviços de Informações da Internet) não é automaticamente configurado para o seu aplicativo Web. Depuração não funcionará porque a pasta do aplicativo não é reconhecida sistema autônomo um aplicação raiz.

Depois de copiar, você precisará conjunto a nova pasta sistema autônomo uma raiz do aplicativo usando IIS Manager.Além disso, você deve conjunto as permissões de pasta de Lixeira do aplicativo para evitar que DLLs sejam baixados.

Dica:

Em vez de usar o Xcopy comando, considere a possibilidade de usar o Copiar projeto comando ou um projeto de implantação Web Setup.Para obter mais informações, consulte Alternativas de implantação.

Como eu desativo a análise de dependência?

Infelizmente, há uma maneira direta de desativar a análise de dependência pesquisando e resolução.No entanto, há uma solução alternativa: Você pode desmarcar o Incluir caminhos de Pesquisar padrão opção na caixa de diálogo que aparece quando você clicar na SearchPathpropriedade .

Há vários pontos adicionais a serem considerados:

  • Você deve adicionar os arquivos usando o Adicionar arquivo comando (o Projeto menu, selecionar Adicionar, and then Arquivo).Se você usar Adicionar Saída do projeto (a partir de Projeto menu, selecionar Adicionar, and then Saída do projeto), as dependências relatadas do projeto de código serão incluídas.

  • Quando você constrói, você poderá ver um ou mais Não é possível localizar a dependência avisos, mas eles podem ser ignorada nesse caso.

  • Se você apenas deseja desativar a análise de dependência para alguns arquivos, você pode colocar esses arquivos em um projeto de módulo de mesclagem com caminhos de Pesquisar padrão desativados.Em seguida, use Adicionar módulo de mesclagem (a partir de Projeto menu, selecionar Adicionar, and then Adicionar módulo de mesclagem) para incluir o .msm em um projeto de instalação regular com caminhos de Pesquisar padrão ativado.

Como eu desativo reparo para um arquivo que os usuários devem modificar ou excluir?

O Visual Studio cria atalhos anunciados para que quando o programa é iniciado ele verifica se todos os seus arquivos existem.Para alterar esse comportamento e fazer com que ele não reparar o arquivo, selecionar os arquivos no projeto a instalação e altere o Condição propriedade NÃO REINSTALE para que o arquivo não irá obter reinstalado em um reparo e seus Transitiva propriedade TRUE para que a condição seja reavaliada.Isso fará com que o Installer pisque na tela na primeira vez após o arquivo é excluído enquanto ele verifica que o arquivo não deve ser reinstalado, mas não verá o instalador depois disso.

Como posso depurar uma classe de ação/instalação personalizada?

Você pode usar um dos seguintes métodos:

  • Adicionar uma telefonar no seu código para System.Diagnostics.Debugger.Launch. Esse método abre Just-in-time de depuração e permite que você anexe um depurador novo ao seu código.

  • Adicionar uma telefonar no seu código para MessageBox.Show("Debug Me"). Quando a caixa de mensagem for mostrada, use Visual Studio Para anexar o MessageBox processo. Em seguida, adicione quebras (para projetos Visual translation from VPE for Csharp) ou pára (para projetos do Visual Basic) no código.

  • conjunto suas preferências de depuração para iniciar InstallUtil.exe (localizada no \winnt\Microsoft.net\estrutura\ versão) e passá-lo seu assembly sistema autônomo um parâmetro.Quando você pressionar F5, você atingiu o ponto de interrupção.InstallUtil.exe executará sistema autônomo ações personalizadas, exatamente sistema autônomo o MSI.

Registrando módulos (assemblies) com interfaces COM não funciona

Esse é um bug de RegAsm conhecido.Se seu conjunto possui uma dependência, por exemplo no outra biblioteca de classes, RegisterCOM podem não funcionar porque RegAsm é chamado para obter as informações de inscrição.Como RegAsm é chamado no diretório \obj, a dependência não for encontrada e RegAsm falha sem notificação.A melhor solução é adicionar manualmente o assembly no diretório \bin.Outra solução alternativa é usar RegisterSelfReg.

Além disso, certifique-se de que você registre manualmente usando RegAsm/codebase.Se seu sembly sistema autônomo não estiver em um local compartilhado, ele não for encontrado, a menos que seja no mesmo diretório sistema autônomo o código de chamada./ Codebase insere o diretório no registro.

Como resolver instalações do Windows Installer usando arquivos de log?

Ao instalar programas em um arquivo de log, o Windows Installer registrará suas operações.O arquivo de log está localizado no diretório onde reside o arquivo .msi.

Como obter um arquivo de log para minha instalação?

Há duas maneiras:

  • Execute a partir da linha de comando com comutador de registrar registrar registrar em log.

    misexec /i mysetup.msi /l*v mylog.txt
    
  • salvar o seguinte sistema autônomo um arquivo .reg e carregá-lo no seu registro.

    REGEDIT4
    
    [HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer]
    "Logging"="voicewarmup"
    "Debug"=dword:00000007
    

    Em seguida, em aberto sua pasta \temp e classificar em data.O arquivo msi*.log mais recente é da instalar mais recente ou desinstale.

Como instalo um subdiretório de um produto instalado anteriormente?

  1. Suponha que o produto instalado anteriormente, o produto 1, está instalado e tem um arquivo chamado MyFile.txt.

  2. Use o ORCA (do SDK do Windows Installer) para exibir a tabela de arquivo e localize a linha que representa MyFile.txt.

  3. Obter o valor da coluna Component_ e, em seguida, em aberto a tabela de componentes.

  4. Na tabela componente, localizar a linha que possui o valor Component_ na coluna componente e obtenha o ComponentID. Copie esse valor para a área de transferência.fechar o ORCA.

  5. No seu projeto de instalação, abra o Condições inicialização Editor e adicione uma Pesquisar de componente do Windows Installer.O ComponentID propriedade de nova Pesquisar, colar o ComponentID.

  6. Copie a propriedade.Ele deve ser algo como COMPONENTEXISTS1.

  7. Abra o Editor de arquivo do sistema e selecionar a pasta de aplicativo.

  8. edição a propriedade DefaultLocation ser algo como [COMPONENTEXISTS1]MySubFolder (porque o caminho no COMPONENTEXISTS1 inclui à direita ' \ ').

Após a etapa 6 do procedimento anterior, convém adicionar uma condição à Inicie o Editor de condições para verificar se o componente foi encontrado e a instalar de bloco e mostrar uma mensagem se não foi.A condição seria COMPONENTEXISTS1 (o que significa que já pode executar o instalador se COMPONENTEXISTS1 não está vazia).

Como instalar pastas da Web personalizadas a uma porta não padrão?

Para instalar pastas da Web personalizadas a uma porta não designada por padrão, execute a instalação a partir da linha de comando.O comando deve incluir o Propriedade valores de propriedade para cada uma das suas pastas de personalizada da Web.Normalmente, um valor seria algo como NEWWEBPROPERTY1.Você também precisa incluir TARGETPORT para a pasta de aplicativo Web Web.

Por exemplo, se seu servidor Web estiver na porta 20, linha de comando deve assim:

msiexec /i mywebsetup.msi TARGETPORT=20 NEWWEBPROPERTY1PORT=20

O comando anterior é para somente uma pasta da Web.Se você tiver mais de uma pasta da Web, adicione mais propriedade = valor pares conforme especificado anteriormente para cada pasta para redirecionar a porta do cada pasta listada para a porta especificada.

Você talvez queira remover o Endereço de instalaçãocaixa de diálogo , porque se alguém alterar a porta na interface do usuário durante a instalação, as pastas da Web personalizado usará o valor da linha de comando.

Como instalar o para a raiz de um site?

Para instalar a raiz de um site da Web, por exemplo, c:\inetpub\wwwroot, defina o VirtualDirectory como uma seqüência de caracteres vazia, em projeto Web Setup ou durante a instalação.

Como instalar um ServicedComponent no GAC e configurá-lo no catálogo COM +?

Se você tentar instalar um ServicedComponent no GAC e configurar-o no catálogo COM +, você poderá receber o seguinte erro de compilação:

"Unable to build custom action named 'Primary output from RegServer (Active)' because the file's Folder property is set to Global Assembly Cache."

Esta instalação não é suportada porque os assemblies no GAC não estão sempre disponível (o compromisso de GAC) quando as ações personalizadas são executadas.

A solução é colocar seu código em arquivos diferentes e colocar seu código de ação personalizada em um arquivo que não será GAC, se possível.Às vezes, você não pode distribuir o código dessa maneira.

Como eu automaticamente executo meu programa após a instalação?

  1. criar um arquivo .vbs que contém o código a seguir:

    Set WshShell = CreateObject("WScript.Shell")
    WshShell.Run """" & Property("CustomActionData") & """",7,False
    Set WshShell = Nothing
    
  2. Abra seu projeto de instalação e vá para o Editor de ações personalizadas.

  3. selecionar o confirmar nó; clicar com o botão direito do mouse e adicione um novo Ação personalizada.

  4. Explore o sistema de arquivos para adicionar o arquivo .vbs que você criou na etapa 1.

  5. edição o CustomActionData propriedade adicionando o seguinte em que YourApp.exe é o nome do seu arquivo de inicialização do aplicativo:

    [TARGETDIR]YourApp.exe

  1. No diretório do seu projeto de instalação, crie um novo arquivo desinstalar.bat.

  2. No seu projeto de instalação, copie o ProductCode propriedade (um valor como [12345678-1234-1234-1234-123412341234]).

  3. edição desinstalar.bat para que ele tem uma linha que contém o seguinte, onde ProductCode é o valor que você copiou na etapa 2:

    Msiexec /x ProductCode

  4. Adicione desinstalar.bat a pasta de aplicativo do seu projeto de instalação.

  5. clicar com o botão direito do mouse desinstalar.bat e selecionar Criar atalho para criar um atalho.

  6. Colocar o atalho no apropriado Iniciar menu pasta no projeto de instalação.

  7. Renomeie o atalho para algo como "Desinstalar < Nome do Aplicativo >."

Onde posso encontrar exemplos de como usar projetos de instalação?

See Explicações passo a passo para implantação com o Windows Installer Para obter exemplos de como usar projetos de instalação.

Como posso plano a implantação de aplicativos baseados no .NET estrutura?

Este guia fornecem informações que você deve ter para planejar e implementar a implantação eficiente de seus aplicativos baseados em .NET estrutura: Implantando aplicativos baseados no estrutura .NET.

Onde posso baixar o SDK do Windows Installer?

Você pode baixar o SDK do Windows Installer no SDK da plataforma Web site:

Onde obter atualizações e ajuda para o Crystal Reports?

Atualizado módulos de mesclagem e de software podem ser instalados na página "Downloads e atualizações" no site BusinessObjects.com:

Onde posso obter um bootstrapper para ajudar a instalar o .NET estrutura com o meu aplicativo?

O Microsoft .NET estrutura Setup.exe Bootstrapper Sample pode ser encontrada neste local:

O Visual Studio .NET estrutura plug-bootstrapper in podem ser encontradas neste local:

Como resolver "Unrecoverable erro de compilação" mensagens de erro?

Se você estiver recebendo um "Unrecoverable erro de compilação" mensagem de erro ao criar projetos de instalação e implantação, leia este artigo:

"PRB: 'Erro irrecuperável compilação' mensagem de erro quando você construir Setup and implantação Projects"emhttp://suporte.Microsoft.com/?ID=329214.

Como resolver mensagens de erro de validação?

Se você estiver recebendo mensagens de erro sistema autônomo, por exemplo, An error occurred when validating. HRESULT = '80040155' consulte "PRB: "Erro de compilação irrecuperável" mensagem de erro quando você construir Setup and implantação Projects"emhttp://suporte.Microsoft.com/?ID=329214 e siga as etapas para "Registros ausentes."

Como modificar o IIS durante a implantação com ações personalizadas

O artigo "modificando Serviços de Informações da Internet durante a implantação com ações personalizadas" nohttps://msdn.Microsoft.com/biblioteca/padrão.asp?url=/biblioteca/en-us/dv_vstechart/html/vbtchUsingCustomActionsToModifyInternetInformationServerDuringDeployment.asp?quadro=true.Explica como corrigir vários problemas.Isto inlcui o seguinte:

  • Como modificar as configurações de uma pasta do IIS que não estão disponível em uma pasta da Web o sistema de arquivos Editor

  • Como implantar um aplicativo híbrido que usa o Visual Basic 6 e Visual Basic .NET (ou versões posteriores).

  • Alterações na implantação do Visual Studio .NET (ou posterior) aplicativos em comparação aos aplicativos Visual Basic 6.

Onde posso encontrar informações sobre "Sem Touch implantação"?

Consulte "No-Touch implantação do .NET estrutura" emhttps://msdn.Microsoft.com/biblioteca/en-us/dv_vstechart/html/vbtchno-touchdeploymentinnetframework.ASP.

Como posso implantar aplicativos ASP.NET?

Para obter informações sobre como implantar um aplicativo ASP.NET usando Visual Studio. NET, consulte Implantando um aplicativo ASP.NET usando o Visual Studio .NET.

Após a instalação no Windows 2000, o aplicativo falha com um aviso de que o MDAC 2.8 é obrigatório

Qualquer aplicativo que faz referência a System.Data espaço para nome tem uma dependência no Microsoft dados acesso Components (MDAC) 2.8 ou posterior. Na maioria dos casos o arquivo já está instalado sistema autônomo parte do sistema operacional.No Windows 2000 serviço Pack3 e anterior, talvez seja necessário instalar o componente com o seu aplicativo.Você pode fazer isso adicionando-a para o pacote de bootstrapper e fazer download do arquivo da Microsoft durante a instalação.Para obter mais informações, consulte Implantando Prerequisites (Visual Studio).

Artigos relacionados da base de dados de conhecimento de conhecimento

Os seguintes artigos da base de dados de conhecimento de conhecimento fornecem informações sobre problemas de implantação do Windows Installer:

Consulte também

Conceitos

Implantação e dependências

Alternativas de implantação

Referência

Propriedade VirtualDirectory

Outros recursos

Implantando Aplicativos e Componentes

Explicações passo a passo para implantação com o Windows Installer