¿Alguien ha usado WiX para generar un instalador para un sitio web ASP.Net MVC? ¿Cosecha archivos del proyecto web? No puedo encontrar buenos ejemplos de esto. No parece haber una manera documentada de incluir todos los archivos correctos, solo los archivos correctos y colocarlos en el lugar correcto.Uso de WiX para generar un instalador para un sitio web ASP.Net MVC
Si se agrega el proyecto de sitio web como una referencia en el proyecto de instalación, y establecer harvest=True
en las propiedades, a continuación, todos los archivos del sitio web son capturados, pero hay cuestiones:
- algunos archivos que no deberían estar copiados están incluidos, por ejemplo
packages.config
,Web.Debug.config
No parece haber una manera clara o sencilla de excluirlos (as per this discussion). - El archivo DLL .website está en el lugar equivocado, en la raíz en lugar de la carpeta bin (as per this discussion)
Sin embargo, si no se utiliza la cosecha, que tiene una gran cantidad de archivos para hacer referencia de forma manual (por ejemplo, Debajo de \Content\
solo tengo 58 archivos en 5 carpetas. La mayoría es jQuery UI) y cambian de vez en cuando, y los errores y omisiones pueden omitirse fácilmente desde una lista de archivos WiX. Entonces realmente debería mantenerse sincronizado automáticamente.
No estoy de acuerdo con la idea de que la lista de archivos debe especificarse explícitamente en WiX y no generarse dinámicamente (que es lo que parece sugerirse en el primer enlace, la redacción no es muy clara). Si necesito eliminar un archivo que eliminaré si proviene del sistema de control de origen, no hay necesidad de realizar el trabajo adicional de mantener dos catálogos paralelos pero diferentes: un conjunto de archivos en el control de fuente y los mismos archivos enumerados en WiX. debería haber una versión de la verdad. Todos los archivos en el árbol de fuentes del sitio web (con ciertas excepciones conocidas que no se utilizan en el tiempo de ejecución, por ejemplo, packages.config
) deben incluirse en la implementación.
Por razones corporativas que no tienen mucha elección sobre el uso de WiX para este proyecto
Bueno, no estoy de acuerdo contigo en desacuerdo. Por cierto, ¿hay alguna pregunta aquí? Escribí cientos de instaladores a lo largo de los años y muchos de ellos han sido soluciones de múltiples instancias n-Tier que incluyen ASP.NET web UI y servicios. Escribí automatización para verificar que lo que mi instalador consume y mi proyecto publicado sea idéntico. Cuando se agrega algo, es trivial para mí agregar el archivo a mi instalador y lo mejor es que sé que se hizo perfectamente, no automáticamente. (Despliegue y ore) –