Projetos de instalação e implantação de solução de problemas

Os tópicos nesta seção abordam vários problemas que você pode encontrar ao criar projetos de implantação e implantar aplicativos.

A.NET Framework necessária ao projeto de instalação é diferente de.NET Framework versão direcionado pelo aplicativo

Projetos de instalação tem uma condição de inicialização pode verificar se há uma versão específica do.NET Framework versão. No entanto, a versão não pode ser o mesmo destino.NET Framework que o aplicativo usa. Por exemplo, seu aplicativo pode direcionar.NET Framework 2.0, mas a condição de lançamento do projeto de instalação pode procurar e instalar o.NET Framework 3.5. Outro exemplo é que um modelo de projeto de Visual Studio pode direcionar.NET Framework 4 Client Profile, mas o projeto de instalação tem uma condição de inicialização para verificar e instalar.NET Framework 4.

Para alterar esse comportamento padrão, siga estas etapas:

  1. Em Solution Explorer, clique no projeto de instalação.

  2. No Exibir , aponte para Editore em seguida, clique em Condições de inicialização.

  3. Clique em .NET Framework.

  4. Na janela Properties, altere o versão a propriedade para a versão do.NET Framework que você deseja que o projeto de instalação para verificar e instalar.

Certifique-se de que o programa Setup. exe também verifica e instala a versão correta do.NET Framework. Para obter mais informações, consulte Caixa de diálogo de pré-requisitos e How to: Instalar pré-requisitos na implantação do Windows Installer.

Não é possível instalar.NET Framework 3.5 SP1 no Windows Server 2008 R2 ou o Windows 7

Você pode configurar projetos de instalação para incluir.NET Framework 3.5 SP1 como pré-requisito. No entanto, esse pré-requisito de instalação em um Windows Server 2008 R2 ou o Windows 7 o computador exibe a seguinte mensagem de erro: "Você deve usar a ferramenta de gerenciamento de função para instalar ou configurar o Microsoft.NET Framework 3.5 SP1." Windows Server 2008 R2 tem.NET Framework 3.5 SP1 como um componente opcional do sistema operacional, mas, por padrão, esse pré-requisito é desativado. Para obter mais informações, consulte qual versão do.NET está embutido no Windows?

Para solucionar esse erro, altere o.NET Framework 3.5 SP1 pacote de bootstrapper.

  1. Crie um programa executável que executa esta linha de comando "ocsetup Netfx3" (em inglês).

  2. Navegue até a pasta de SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1 de %\Microsoft de ProgramFiles(x86) %.

  3. Copie o programa executável na pasta DotNetFX35SP1.

  4. Navegue até o en pasta e abrir o Package. XML com o privilégio de administrador.

  5. Adicionar um <Command> elemento dentro do <Commands> seção para executar o programa executável.

Erros ao usar o Microsoft Visual Studio registro do utilitário de captura no Windows 7

Se você usar o Microsoft Visual Studio registro do utilitário de captura (regcap.exe) em um computador executando o Windows 7, você poderá ver o seguinte erro: "Microsoft Visual Studio registro do utilitário de captura parou de funcionar." O projeto de instalador pode ser compilado, mas posteriormente, a dll não está instalada.

Para solucionar esse erro, execute estas etapas:

  1. Navegue até 10.0\Common7\Tools\Deployment de Visual Studio de %\Microsoft de ProgramFiles(x86) %.

  2. Clique com o botão direito em regcap.exe e clique em Propriedades.

  3. Clique em compatibilidade.

  4. Marque a caixa de seleção em compatibilidade modo.

Dependências não são detectadas com projetos de instalação do Visual C++

Se você adicionar um projeto de instalação para uma solução do Visual C++, as dependências da solução do Visual C++ podem não ser detectadas se o caminho da pasta tem espaços no nome. Para solucionar esse problema, renomeie projetos para remover o espaço ou adicionar manualmente as dependências. Por exemplo, renomeie o Documentos\Visual Studio 2010\Projects para Documents\VisualStudio2010\Projects.

Não é possível criar projetos de instalação em Visual Studio com controle de origem

Quando você compila projetos de instalação em Visual Studio de 2008, você poderá ver erros como, por exemplo, "O comando que você está tentando executar não pode ser concluído porque o filename.vdproj do arquivo está sob controle de origem e não pode ser retirado." Projetos de instalação não automática-check-out arquivos de controle de origem.

Suporte ao sistema operacional

O bootstrapper de Visual Studio e o instalador de Visual Studio (projetos de instalação) não são suportados no núcleo do servidor do Windows Server 2008 ou Windows Server 2008 R2 Server Core, que fornecem um ambiente de servidor de pouca manutenção com funcionalidade limitada. Por exemplo, a opção instalação Server Core oferece suporte apenas a.Perfil de núcleo do servidor do NET Framework 3.5, para que Visual Studio os recursos que dependem da versão completa.NET Framework não pode ser executado. Para obter mais informações, consulte Server Core.

Não é possível instalar o gerenciado ações personalizadas

Quando você instala uma ação personalizada gerenciada, você poderá ver uma mensagem de erro informando que o arquivo .installstate está ausente. Isso ocorre se a ação personalizada gerenciada não implementa a ação de instalação. A ação de instalação cria o arquivo .installstate e as outras ações atualizar o arquivo.

Para solucionar esse erro, implemente as ações de instalação, desinstalação, Commit e Rollback em ação personalizada.

Não é possível instalar.NET Framework 3.5 SP1 pacotes de idioma para uma localidade se Visual Studio de 2008 é usando uma localidade diferente

Quando você seleciona.NET Framework 3.5 SP1 como um pré-requisito nos projetos de instalação, o Visual Studio não gerar um bootstrapper ou o programa de instalação para instalar o pacote de idioma para uma localidade diferente. Por exemplo, se você estiver usando uma versão não-japonês Visual Studio, o projeto de instalação não inclui o.NET Framework 3.5 SP1 japonês language pack.

Para contornar esse erro e criar um japonês redistribuível para o.NET Framework 3.5 SP1, criar um novo diretório ja no diretório do %ProgramFiles%\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages\DotNetFX35SP1. O diretório ja deve conter um arquivo EULA. rtf e Package. XML.

Não é possível instalar pacotes de idiomas se.NET Framework 3.5 SP1 já está instalado.

Se o núcleo.NET Framework 3.5 SP1 já está instalado em um computador, o.NET Framework 3.5 SP1 pacotes de idioma não podem instalar. Por exemplo, se um computador já possui.NET Framework 3.5 SP1 instalado, você não pode instalar o.NET Framework 3.5 SP1 japonês language pack como pré-requisito um instalador de aplicativo diferente.

Como solução, crie um pacote de bootstrapper apenas para os pacotes de idiomas. No pacote bootstrapper, adicione uma dependência.NET Framework 3.5 SP1 para que os pacotes de idiomas instalados apenas se o núcleo.NET Framework já está instalado. Como alternativa, você pode instalar os pacotes de idioma manualmente.

ações personalizadas gerenciadas de 64 bits lançam uma exceção System. BadImageFormatException

Se você adicionar uma ação personalizada gerenciada de 64 bits para um projeto de instalação, o processo de compilação Visual Studio incorpora uma versão de 32 bits do InstallUtilLib.dll o MSI como InstallUtil. Por sua vez, 32 bits.NET Framework é carregado para executar a ação personalizada gerenciada de 64 bits e faz com que uma BadImageFormatException exceção.

Para obter a solução, substitua o InstallUtilLib.dll de 32 bits com a versão de 64 bits.

  1. Abra o arquivo. msi resultante no Orca do SDK do Windows Installer.

  2. Selecione a tabela de binária.

  3. Clique duas vezes na célula [dados binários] para o registro InstallUtil.

  4. Certifique-se de "leitura binário de filename" está selecionada e clique no botão Procurar.

  5. Procure % WINDIR%\Microsoft.NET\Framework64\v2.0.50727.

    ObservaçãoObservação

    O diretório Framework64 será instalado somente em plataformas de 64 bits e corresponde ao tipo de processador de 64 bits.

  6. Selecione InstallUtilLib.dll.

  7. Clique no botão Abrir.

  8. Clique no botão OK.

Para obter mais informações, consulte Gerenciado de 64 bits de ações personalizadas com Visual Studio.

Criando um caminho para uma caixa de diálogo personalizada e a caixa de texto

Se você criar uma caixa de diálogo personalizada com uma caixa de texto "Pasta de instalação" caixa de diálogo deve ser colocada depois da caixa de diálogo personalizada. Em seguida, o valor de diretório será propagado automaticamente. Caso contrário, se a ordem de caixa de diálogo e "Pasta de instalação" caixa de diálogo são invertidas, o valor de diretório deve ser propagado manualmente.

Erros de compilação extra aparecem na janela de saída

Quando você tem um erro de compilação específica, você também poderá ver mensagens de erro genéricas, como, por exemplo, "Construindo o bootstrapper falha geral" ou "Erro de compilação Unrecoverable." Ignorar essas mensagens de erro genéricas e tratar o erro específico.

Anteriormente arquivos excluídos são incluídos novamente quando a solução seja reaberta

Quando você excluir um arquivo de um projeto de instalação, você poderá ver que o arquivo seja incluído novamente após fechar e reabrir a solução. Isso pode ocorrer se houver duas cópias do mesmo arquivo DLL em dois locais de origem diferente.

Para solucionar esse erro, altere o Copy Local propriedade em um dos arquivos:

  1. Em Solution Explorer, clique em referência a DLL que você deseja remover.

  2. Sobre o Exibir menu, clique em Janela Propriedades.

  3. Alterar o Copy Local propriedade para False.

Projetos de instalação não pôde construir com 'Not enough storage is disponível para concluir esta operação' Erro

Quando você adiciona arquivos grandes para um projeto de instalação, o seguinte erro é exibida após você tentar criar o projeto de instalação: "Not enough storage is disponível para concluir esta operação" mesmo se o disco rígido local tiver espaço em disco disponível. Também pode haver um aumento do uso de memória virtual durante o processo de compilação.

Para solucionar esse erro, adicionar mais RAM ao computador de compilação ou tente esta solução alternativa:

  1. No projeto, adicione um arquivo que tem o mesmo nome do arquivo grande.

  2. Na página de propriedades do projeto, definido como o instalador do pacote como arquivos descompactados solto.

  3. Compile.

  4. Copie os arquivos de grandes em tamanho normal para o local de compilação.

Projeto de instalação não atualiza os arquivos modificados

Mesmo se você configurar seu projeto de instalação para remover versões anteriores de arquivos, o Windows Installer não substitui os arquivos que foram modificados ou substituídos pelo usuário. Para obter mais informações, consulte Nenhum arquivo tem uma versão com a verificação de Hash do arquivo.

Não é possível usar uma condição de inicialização para verificar se o.NET Framework 3.5 SP1

A detecção de pré-requisito para o.NET Framework 3.5 SP1 não é suportado com cenários de MSI. Em vez disso, você deve configurar o bootstrapper Setup. exe para verificar e instalar o.NET Framework 3.5 SP1. Para obter mais informações, consulte Caixa de diálogo de pré-requisitos.

Como criar um bootstrapper de 64 bits que inclui o.NET Framework

Incluindo.NET Framework 3.0 como um pré-requisito e instalando o bootstrapper Setup. exe em computadores de 64 bits mostra uma mensagem de erro que não há suporte para sistemas operacionais de 64 bits.

A.NET Framework 3.5 oferece suporte a sistemas operacionais de 32 e 64 bits. Se o seu aplicativo se destina a sistemas operacionais de 32 e 64 bits, selecione o.NET Framework 3.5 na caixa de diálogo de pré-requisitos. Para obter mais informações, consulte Caixa de diálogo de pré-requisitos.

Como instalar o pacotes de bootstrapper de SQL de 2008 e.NET Framework 3.5 SP1?

Os pacotes de bootstrapper de SQL de 2008 e o.NET Framework 3.5 SP1 pode ser instalado no computador de desenvolvimento, instalando Visual Studio Express Editions. Para 2010 de Visual Studio, o SQL de 2008 e o.NET Framework 3.5 SP1 pacotes de bootstrapper estão incluídos e essa solução alternativa não é necessária.

Barra invertida na caixa de texto faz com que o diretório inválido ou exceção de URL

Se a ação personalizada depende de clientes, digitando um caminho de uma pasta de instalação, você poderá ver um ArgumentException mensagem de erro. Isso pode estar relacionado a um URL ou um diretório inválido.

Para evitar essa mensagem de erro, substitua a barra invertida na Edit1 propriedade e Edit1Value caixa de texto com um espaço: / nome = "[TARGETDIR]". Em seguida, o valor de analisar e criar um caminho totalmente qualificado usando o Combine método.

Não é possível adicionar uma nova de linha (\n) a uma mensagem de erro em um projeto de instalação

Se você escrever uma mensagem de erro em um projeto de instalação, o caractere de nova linha não pode ser adicionado no projeto de instalação ou com Orca.exe. Em vez disso, você pode adicioná-lo usando a API do Windows Installer em uma ação pós-compilação com o seguinte comando: "INSERT INTO ('Property', 'Value') ' Property' valores 'errormessagelines', 'first\r\nnext\r\nlast')". Para obter mais informações sobre como usar uma ação pós-compilação, consulte https://go.microsoft.com/fwlink/?LinkId=150770.

Não é possível selecionar.NET Framework 2.0 SP1 ou.NET Framework 3.0 SP1 na caixa de diálogo de pré-requisitos

Não mostrar a caixa de diálogo de pré-requisitos.NET Framework 2.0 SP1 ou.NET Framework 3.0 SP1 na lista de aplicativos a serem instalados, se já não estiverem instalados. Eles não estão disponíveis como um arquivo redistribuível autônomo. Para instalar estes como pré-requisitos em computadores de usuário final, selecione.NET Framework 3.5 na caixa de diálogo de pré-requisitos. Para obter mais informações, consulte Caixa de diálogo de pré-requisitos.

O valor padrão na caixa de texto substitui os parâmetros de linha de comando

Se você executa o instalador usando o sinalizador \qb e passa parâmetros de linha de comando para definir propriedades em uma caixa de diálogo do usuário, esses parâmetros podem ser substituídos. Para impedir que o valor padrão de uma propriedade que está sendo substituído por um cliente, altere o arquivo msi usando Orca.exe.

  1. Defina o valor do campo de edição na caixa de diálogo para o seu nome de propriedade. Por exemplo, definir o Edit1Value propriedade [EDITB1].

  2. Construa o MSI no Visual Studio.

  3. Editar o MSI usando ORCA e colocar o valor padrão da propriedade da tabela de propriedade.

  4. Salve o MSI.

Você também pode usar uma ação pós-compilação para fazer essa alteração. Para obter mais informações sobre como usar uma ação pós-compilação, consulte https://go.microsoft.com/fwlink/?LinkId=150770.

As dependências de assembly não foram detectadas.

Quando um projeto de saída de grupo, assembly ou módulo de mesclagem são adicionados a um projeto de implantação, qualquer assembly dependente é detectadas automaticamente e adicionado ao projeto. Recomendamos que você adicionar um grupo de saída de projeto que contém o assembly porque as ferramentas de implantação mais facilmente podem detectar as dependências de um grupo de saída do projeto.

Se um assembly dependente é carregado em tempo de execução usando código, não podem ser detectado pelas ferramentas de implantação. Você deve evitar o carregamento de assemblies de código, ou você pode adicionar manualmente os assemblies dependentes para seu projeto de implantação. A tabela a seguir lista os problemas onde dependências não podem ser detectadas e suas soluções.

Problema de dependência

Solução

O projeto referencia um componente que só deve ser instalado como parte de outro produto.

  • Exclua o componente de projeto de implantação.

  • Adicione uma condição de inicialização para verificar se o componente no computador de destino. Se o componente não for encontrado, interrompa a instalação.

O projeto referencia um componente não gerenciado, não expõe todas as suas dependências.

O projeto referencia um assembly que tem uma dependência em um componente não gerenciado.

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

Ao implantar um aplicativo MFC usando um Visual Studio o 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 é \Program Files\Common\Merge de módulos. A fim de distribuir um aplicativo do MFC localizado, você tem de adicionar manualmente os módulos de mesclagem de dois a seu projeto de implantação.

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

Ao instalar um programa de instalação da Web em um servidor Web, o VirtualDirectory a propriedade para a pasta de aplicativo da Web e quaisquer pastas personalizadas da Web determina onde os arquivos incluídos nessas pastas serão instalados em relação à raiz da Web. Se essa propriedade for deixada em branco, os arquivos serão instalados na pasta raiz da Web (inetpub\wwwroot). Para obter mais informações, consulte Propriedade de 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 da configuração da Web, os arquivos são instalados em uma pasta que tem o mesmo nome que o projeto de implantação diretamente sob a pasta raiz da Web. O VirtualDirectory a propriedade da pasta de aplicativo da Web determina onde os arquivos são instalados. Para instalar o diretório raiz da Web, altere o VirtualDirectory propriedade para null (excluir o valor padrão). Para obter mais informações, consulte Propriedade de VirtualDirectory.

Como desativar a análise de dependência?

Infelizmente, não há nenhuma maneira direta de desativar a resolução e pesquisa de análise de dependência. No entanto, há uma solução alternativa: Você pode limpar o incluir caminhos de pesquisa padrão opção na caixa de diálogo que aparece quando você clica no SearchPath propriedade.

Há vários pontos adicionais a serem considerados:

  • Você terá que adicionar os arquivos usando o Adicionar arquivo comando (da projeto menu, selecione Adde, em seguida, arquivo). Se você usar o Add Project Output (da projeto menu, selecione Adde, em seguida Project Output), dependências relatadas a partir de código do projeto serão incluídas.

  • Quando você compila, você poderá ver um ou mais não foi possível encontrar a dependência de avisos, mas eles podem ser ignoradas neste 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 os caminhos de pesquisa padrão desativados. Em seguida, use Adicionar o módulo de mesclagem (da projeto menu, selecione Adicionare, em seguida Adicionar o módulo de mesclagem) para incluir o. msm em um projeto de instalação regular com caminhos de pesquisa padrão ativados.

Como desativar o reparo de um arquivo que os usuários são esperados para modificar ou excluir?

Visual Studio cria atalhos anunciados de forma que quando o programa for iniciado, ele verifica se todos os seus arquivos existem. Para alterar esse comportamento e fazer com que ele não reparar o arquivo, selecione os arquivos do projeto de instalação e altere o condição propriedade para não reinstalar para que o arquivo não irá obter reinstalado em um reparo e sua transitiva propriedade para TRUE para que a condição seja reavaliada. Isso fará com que o instalador do flash na tela na primeira vez após o arquivo é excluído, ele verifica que o arquivo não deve ser reinstalado, mas você não verá o instalador depois disso.

Como depurar uma classe de instalador ação personalizada?

Você pode usar um dos seguintes métodos:

  • Adicione uma chamada em seu código para System.Diagnostics.Debugger.Launch. Esse método abre Just-In-Time debugging e permite anexar um depurador de novo ao seu código.

  • Adicione uma chamada em seu código para MessageBox.Show("Debug Me"). Quando a caixa de mensagem é mostrada, use Visual Studio para anexar o MessageBox processo. Adicione quebras (para projetos do Visual C#) ou o pára (para projetos de Visual Basic) no código.

  • Defina suas preferências de depuração para iniciar % windir%\Microsoft. net\Framework\version\InstallUtil como um programa externo na página Debug do Project Designer. O nome do assembly de ação personalizada é os argumentos de linha de comando. Quando você pressionar F5, você atingiu o seu ponto de interrupção. InstallUtil executará as ações personalizadas, exatamente como o MSI.

Registrar assemblies com interfaces COM não funciona

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

Além disso, certifique-se de que você registre manualmente usando RegAsm/Codebase. Se o assembly não estiver em um local compartilhado, ele não for encontrado, a menos que ele está no mesmo diretório que o código de chamada. / Codebase entra o diretório no registro.

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

O Windows Installer registra suas operações durante a instalação de programas em um arquivo de log. O arquivo de log está localizado no diretório onde reside o arquivo. msi.

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

Existem duas maneiras:

  • Execute a partir da linha de comando com a opção de log.

    misexec /i mysetup.msi /l*v mylog.txt
    
  • Salve o seguinte como 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, abra a pasta \temp e classificar na data. O arquivo mais recente do MSI é a partir da instalação mais recente ou desinstale.

Como instalar 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.exe (a partir do SDK do Windows Installer) para exibir a tabela de arquivo e localize a linha que representa o myfile. txt.

  3. Obter o valor da coluna Component_ e, em seguida, abra a tabela de componente.

  4. Na tabela Component, encontre a linha que tem o Component_ de valor na coluna componente e, em seguida, obter o ComponentID. Copie esse valor na área de transferência. Feche o Orca.exe.

  5. No seu projeto de instalação, abra o Iniciar o Editor de condições e adicione uma pesquisa de componente do Windows Installer. Para o ComponentID propriedade da nova pesquisa, colar a ComponentID.

  6. Cópia de propriedade propriedade. Ele deve ser algo como COMPONENTEXISTS1.

  7. Abrir o File System Editor e selecione a pasta do aplicativo.

  8. Editar a propriedade DefaultLocation para ser algo como [COMPONENTEXISTS1]MySubFolder (porque o caminho de COMPONENTEXISTS1 inclui à direita ' \').

Após a etapa 6 no procedimento anterior, convém adicionar uma condição para a Iniciar o Editor de condições para verificar se o componente foi encontrado e a instalação de bloco e mostrar uma mensagem se não foi. A condição seria COMPONENTEXISTS1 (que significa que é correto executar o instalador se COMPONENTEXISTS1 não estiver vazia).

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

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

Por exemplo, se o servidor Web está na porta 20, a linha de comando deverá ser semelhante isso:

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

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

Deseja remover o Endereço de instalação caixa 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 para a raiz de um site da Web?

Para instalar a raiz de um site da Web, por exemplo, c:\inetpub\wwwroot, defina a VirtualDirectory para uma seqüência vazia, no 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 configurá-lo no catálogo COM+, você pode 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 nem sempre estão disponíveis (confirmadas no GAC) quando as ações personalizadas são executadas.

A solução alternativa é colocar o seu código em arquivos diferentes e colocar seu código de ação personalizada em um arquivo que não vai ao GAC. Às vezes, você não pode distribuir o código dessa maneira.

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

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

  3. Editar Uninstall. bat para que ele tenha uma linha que contém o seguinte, onde ProductCode é o valor que você copiou na etapa 2:

    Msiexec /x ProductCode

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

  5. Uninstall. bat com o botão direito e selecione Criar atalho para criar um atalho.

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

  7. Renomeie o atalho para algo como "Desinstalar < nome do aplicativo >".

Onde é possível encontrar exemplos de como usar os projetos de instalação?

Consulte Passo a passo e tarefas de implantação para obter exemplos de como usar projetos de instalação.

Como faço para planejar a implantação do.NET Framework-based applications?

Este guia fornecerá as informações que você deve ter para planejar e implementar a implantação eficiente de seu.NET Framework-based applications: Implantando.NET Framework-based Applications.

Onde é possível baixar o SDK do Windows Installer?

Você pode baixar o SDK do Windows Installer a partir do Centro de Download da Microsoft:

https://go.microsoft.com/fwlink/?LinkId=161393.

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

Módulos de mesclagem e software atualizados podem ser instalados do "Downloads & Atualizações" página no site da BusinessObjects.com:

http://support.businessobjects.com/fix/downloads_updates.asp

Como resolver o "Erro de compilação irrecuperável" mensagens de erro?

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

"PRB: 'Erro irrecuperável de compilação' Mensagem de erro quando você constrói Setup and Deployment Projects" em https://support.microsoft.com/?id=329214.

Como resolver mensagens de erro de validação?

Se você estiver recebendo mensagens de erro, como An error occurred when validating. HRESULT = '80040155' consulte "PRB: "Erro de compilação irrecuperável" Mensagem de erro quando você constrói Setup and Deployment Projects" em https://support.microsoft.com/?id=329214 e siga as etapas para "Registros de ausente".

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

O artigo "Modificando Internet informações sobre serviços durante a implantação com ações personalizadas" em https://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vbtchUsingCustomActionsToModifyInternetInformationServerDuringDeployment.asp?frame=true explica como corrigir problemas comuns. Isto inlcui o seguinte:

  • Como modificar as configurações para uma pasta do IIS não estão disponíveis em uma pasta da Web no Editor de sistema de arquivo

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

  • Alterações na implantação de aplicativos escritos com Visual Studio.NET e posteriormente em comparação com aplicativos de Visual Basic 6.

Como implantar o ASP.NET applications?

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

Após a instalação no Windows 2000, o aplicativo falhar com um aviso de que o MDAC 2.8 é necessária

Qualquer aplicativo que faz referência a System.Data espaço para nome tem uma dependência no Microsoft Data Access Components (MDAC) 2.8 ou versões posteriores. Na maioria dos casos, o arquivo já está instalado como parte do sistema operacional. No Windows 2000 Service Pack 3 e anteriores, talvez você precise instalar o componente com o seu aplicativo. Você pode fazer isso adicionando-o para o pacote de bootstrapper e o download do arquivo da Microsoft durante a instalação. Para obter mais informações, consulte Pré-requisitos de implantação do aplicativo.

Como alterar o nível de permissão para as ações personalizadas?

Por padrão, as ações personalizadas executadas com privilégios de sistema, mas você pode achar que a ação personalizada exige mais privilégios para concluir a tarefa. Para alterar esse comportamento padrão, desabilite o "noimpersonate" Sinalizador de ação personalizada. Para obter mais informações, consulte Opções de execução de no Script de ação personalizada.

Artigos relacionados do Knowledge Base

Os seguintes artigos do Knowledge Base fornecem informações sobre problemas de implantação do Windows Installer:

Consulte também

Referência

Propriedade de VirtualDirectory

Outros recursos

Implantando Aplicativos e Componentes

Passo a passo e tarefas de implantação