Visual Studio Installer indica que es una mejor práctica instalar cada archivo como un componente de instalador. La utilidad de calor provista con Wix también parece seguir la práctica de poner cada archivo en su propio componente.¿Cuál es la mejor práctica de generación de componentes MSI?
El asistente de componentes de InstallShield utiliza la mejor práctica de configuración de InstallShield para colocar archivos ejecutables portátiles en sus propios componentes pero agrupa todos los demás archivos (por ejemplo, archivos no versionados) por la carpeta de destino común.
La ventaja de practicar uno (cada archivo en su propio componente) es que cada archivo se configura como un archivo de clave que es importante si desea que estos archivos desencadenen reparaciones. También permite la automatización de la creación de los componentes (por ejemplo, calor) más fácil ya que está creando un componente para cada archivo.
Las desventajas de la práctica incluyen la sobrecarga de gestionar tantos componentes y la hinchazón del registro después de que se instala la aplicación.
Se puede ver una ventaja de la práctica 2 en una instalación que instala cientos de archivos de gráficos en un directorio. Si no le importa la funcionalidad de reparación, ¿hay alguna razón para crear cientos de componentes para esta instalación?
Estas 2 prácticas diferentes son contradictorias y quiero saber cuál usa realmente la gente y por qué.
Estuve a punto de publicar esto, estoy muy interesado en la respuesta. – Colen
Para cualquier cosa lo suficientemente pequeña: use un archivo por componente. Esto evita todo tipo de problemas. Cuando la cantidad de archivos para implementar llegue a ser grande, puede considerar agregar un "archivo de clave de indicador" a cada carpeta y usar esto para activar la actualización o la reinstalación de todo el componente. –