É OK para adicionar uma condição a um núcleo InstallShield ação personalizada? (Como OnInstallFilesActionBefore)

StackOverflow https://stackoverflow.com/questions/702145

Pergunta

Eu adicionei uma condição para o OnInstallFilesActionBefore ação personalizada através do editor de sequências. Eu fiz isso para que ele só executa a primeira vez que você instala a configuração, o que significa que a minha condição é:

Not Installed

Agora estou vendo este aviso registrado quando a compilação:

ISDEV: Aviso A condição para ação personalizada OnInstallFilesActionBefore na InstallExecuteSequence Sequência possui foi modificado. Isso fará com que resultados imprevisíveis em tempo de execução.

Veja, eu pensei que ação personalizada era simplesmente um invólucro específico do InstallShield que nos permitiu adicionar código antes da ação InstallFiles. Será que fazer qualquer outra coisa que não seja o código que eu adicionar a ele? Se tudo que faz é executar o código que adicionado a ele, então eu preciso prestar atenção a este aviso? Estou um pouco preocupado que ele diz que " causar resultados imprevisíveis em tempo de execução", como se eles estão certos.

Quanto quanto eu posso dizer, ele funciona bem. Meu código é executado na primeira instalação, mas não quando a desinstalação ou reparação. Isso é o que eu quero.

Para o registro, eu estou usando DevStudio v9.

Foi útil?

Solução

Se bem me lembro, e tem sido alguns anos para que eu possa estar errado, que a ação só é incluído se você estiver usando um híbrido InstallScript MSI tipo de projeto. Por isso, seria usado para executar ações InstallScript antes dos eventos de cópia de arquivos.

Assim, adicionando uma condição para isso não vai causar um problema se você não tem quaisquer ações InstallScript lá. Embora leva à pergunta de por que você quer a condição no primeiro lugar.

Você é provavelmente melhor de usar o tipo de projeto MSI básico que irá incluir apenas as ações padrão MSI. Isso significa que você não tem a dependência do tempo de execução ISScript Installshield bem por isso é apenas geralmente uma prática melhor e completamente remove a preocupação subjacente à sua pergunta.

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