Pergunta

Eu construí um MSI que eu gostaria de implantar, e com freqüência de atualização.Infelizmente, quando você instalar o MSI e, em seguida, tente instalar uma versão mais recente do mesmo MSI, ele falha com uma mensagem como "Outra versão deste produto já está instalada.A instalação desta versão não pode continuar..." aparece.A MSI foi construído com uma Instalação do Visual Studio 2008 Projeto.Eu tentei definir o "Remover Versões Anteriores de" propriedade para true e false, em um esforço para fazer apenas as versões mais recentes substituir o antigo instalar, mas nada funcionou.Em uma empresa anterior eu sei que eu não tenho este problema com instaladores construído pelo Sábio e Instalador Avançado.Existe uma configuração que eu estou ausente?Ou é a minha desejada funcionalidade não suportada pelo VS 2008 Projeto de Instalação?

Foi útil?

Solução

Eu tenho construído inúmeros Lmes com o VS 2005 Pro que fazer isso corretamente.

Tem certeza de que a 'Versão' de propriedade do projeto de implantação tem sido incrementado?Esta propriedade é independente da versão do assemblies no aplicativo, e esta é a mensagem de erro, você vai ver se a Versão de propriedade da MSI é o mesmo que era para o que você está tentando substituir.

Outras dicas

Incrementar o número de versão no seu projeto.

No VS, selecione o nó para o seu aplicativo de configuração e pressione F4 para exibir as propriedades.Encontrar o campo de versão, e incrementá-lo.

Você precisa alterar o Código de cores entre cada versão, se você não fizer isso, você vai ter o comportamento que você está vendo.O Código de cores é visto nas propriedades do projeto.Confira o Ajuda Online do MSDN para ProductCode para entender melhor.

Este é um pouco mais complexo:

Para remover automaticamente as versões anteriores do aplicativo instalado no Projeto de Instalação, é necessário:

  1. Incrementar o Versão propriedade (por exemplo,a partir da versão 1.0.0 para 1.0.1 ...também a mudança na 3ª posição obras)
    • Versão é a propriedade do instalador do projeto que identifica, qual a versão do aplicativo está instalado
  2. Alterar o ProductCode propriedade, de modo instalador sabe que ele não é o mesmo instalador executado duas vezes
    • ProductCode é a propriedade do instalador do projeto, o Visual Studio oferece para alterar automaticamente, quando Versão propriedade é alterada
  3. Manter o valor de "UpgradeCode propriedade".
    • UpgradeCode é também a propriedade de projecto de programa de instalação
    • ele precisa ficar mesmo entre toda a "atualização" de linha, por isso instalador sabe o que atualizar
  4. Se você também quiser remover antigas versões do aplicativo do Painel de Controle da lista de software, conjunto de RemovePreviousVersions a verdade

Tive o mesmo problema quando vai de XP para o Win7.Para resolver isso eu tinha que definir DetectNewerInstalledVersion para False.Também, como mencionado por outras pessoas, você precisa inc a versão do programa de configuração do projecto.

Boa sorte.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top