2012-06-20 21 views
5

Mi instalador tiene que copiar archivos en installdir ... Mi aplicación tiene alrededor de 2000 archivos y no me es posible escribir la secuencia de comandos para agregar todos y cada uno de los archivos al instalador. ¿Hay alguna opción en wix para poder agregar todos los archivos o la carpeta completa que contiene los archivos a la vez? Soy nuevo en wix y no encontré ninguna opción en ningún tutorial para esto ... Por favor ayúdenme y gracias de antemano .....¿Agregar una carpeta al instalador en wix no archivos?

Respuesta

12

Calor es el WiX harvest tool. Puede ejecutarlo en un directorio para generar el código fuente de WiX necesario.

EDIT: Si desea ejecutar calor antes de su proyecto VS construye, añadirlo a sus eventos pre compilados proyecto como se ve en la pantalla de abajo (así es como tengo mi configuración del proyecto para generar dinámicamente fuente de WiX para nuestra siempre cambiante contenido de la ayuda): VS Build Events

Tenga en cuenta el -var wix.HelpSource interruptor que tengo. Los archivos fuente de WiX generados por calor establecerán la ubicación de los archivos fuente en esa variable en lugar de codificarla con dificultad. Por lo que la fuente generado tendrá componentes que se ven algo como esto:

<Component Id="Welcome.htm" Directory="Content" Guid="INSERT-GUID-HERE"> 
    <File Id="Welcome.htm" KeyPath="yes" Source="!(wix.HelpSource)\Content\Welcome.htm" /> 
</Component> 

Y en mi caso particular, me definen esa variable en la pantalla de configuración de la herramienta de mi proyecto de WiX VS al directorio relativa ..\..\Help\Output como se ve a continuación: enter image description here

NOTA: La recolección de archivos de esta manera hará que los GUID de los componentes cosechados cambien cada vez que compile. Si no desea que sus GUID cambien, es posible que tenga que escribir un contenedor que llame a calor para cosechar los archivos, y luego actualice su fuente original de WiX, dejando todos los GUIDs solo.

+0

Si está utilizando wix dentro de un proyecto VS, llame a la herramienta de recolección de calor en la sección PreBuild de wixproj. De esta forma, cada vez que lo construya se regenerará sin ninguna intervención manual. –

+0

¿me pueden ayudar a hacer eso en vs? – Prakash

+0

@ user1357950 Actualicé mi respuesta para mostrar cómo ejecutar el calor como un evento de preconstrucción en Visual Studio, por sugerencia de caveman_dick – BryanJ

Cuestiones relacionadas