Pergunta

Eu tenho sido capaz de ações # personalizados gatilho C para sobrescrevam instalar e committ fases de uma MSI. No entanto, ao implantar um ASP.NET aplicativo que eu desejo de ser capaz de executar verificações antes da instalação mesmo de começar.

Eu sei que existem condições de lançamento, no entanto, eu gostaria de ser capaz de ligar o meu próprio código aqui para verificações de punho em cima do lançamento mim como pelo que vejo as condições de lançamento são simplesmente para checar as versões corretas do IIS etc ?

Poderia alguém me aponte na direção certa aqui, ou mesmo se há uma maneira de obter as condições de lançamento para disparar alguns C #?

Foi útil?

Solução

Eu acho que o uso de uma ação personalizada para definir um valor de propriedade e, em seguida, executar uma condição de inicialização para verificar o valor da propriedade seria uma maneira. No entanto, este não parece aplicar-se a VS projetos de instalação, uma vez que as ações personalizadas não for executado até depois das condições de lançamento. WiX permitirá maior controle e deve permitir que ações personalizadas a ser realizado anteriormente.

A maneira crua de fazê-lo seria ter a ação personalizada lançar uma exceção e ter a instalação revertida, mas isso seria uma gambiarra.

Eu encontrei um tópico do fórum discutir como verificar se um determinado serviço está sendo executado em instalação que talvez pode levá-lo na direção correta.

Outras dicas

Apenas agendar sua ação personalizada imediatamente após LaunchConditions. O resultado é o mesmo para todos os efeitos.

Em InstallShield que é apenas uma questão de selecionar quando ele é executado através dos menus suspensos. Ou usando WiX, que seria algo como:

  <Custom Action="BlahBlahBlah" After="LaunchConditions">1</Custom>

Como sempre, para qualquer um começar com MSI eu recomendo a leitura The Definitive Guide to do Windows Installer. Ele fornece o conhecimento de baixo nível de valor inestimável (usando projetos de instalação do Visual Studio e Orca) que se aplica não importa se você estiver usando WiX, InstallShield ou qualquer outra ferramenta para construir arquivos MSI.

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