Um arquivo por componente ou vários arquivos por componente?
-
05-07-2019 - |
Pergunta
Devo envolver todos os arquivos que quero instalar em componentes individuais? Qual é a vantagem de colocar vários arquivos em um componente?
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.