Pergunta

Devo envolver todos os arquivos que quero instalar em componentes individuais? Qual é a vantagem de colocar vários arquivos em um componente?

Foi útil?

Solução

Uma razão para "um arquivo por componente" é resiliência. Quando um aplicativo é iniciado, o Windows Installer pode verificar se o Keypath de qualquer componente está faltando. Se o teclado estiver ausente, o componente será reinstalado/reparado.

Se um componente tiver vários arquivos, então Apenas um arquivo pode ser o teclado. Em wix você indica isso configurando KeyPath=yes com um Arquivo elemento. Os outros arquivos não serão totalmente protegidos pela resiliência do Windows Installer. Eles só serão reinstalados se o arquivo Keypath desaparecer.

Outro motivo para ter "um arquivo por componente" é a instalação de arquivos em locais onde eles já podem estar presentes (por exemplo, uma atualização de aplicativo ou quando se instala para c:\windows\system32). O Windows Installer determina se um componente precisa ser instalado verificando o Keypath. Se o Keypath for um arquivo e o arquivo já estiver lá (com a mesma versão ou superior), o componente está não instalado. Isso é um problema se o outro Os arquivos no componente realmente precisavam ser instalados/atualizados.

Outras dicas

Eu sigo a abordagem da Microsoft, que também é usada pelo InstallShield: http://msdn.microsoft.com/en-us/library/aa368269(vs.85).aspx

O link acima fornece as vantagens dessa abordagem.

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