2011-03-11 23 views
5

Necesito desplegar archivos en las unidades C y D. Por ejemplo, el archivo A va a la unidad C y el archivo B va a la unidad D. Sé que Wix le permite tener solo un directorio raíz. ¿Hay alguna manera de que pueda lograr esto?Es posible tener dos directorios raíz en WIX

Sé que una solución es establecer C como el directorio raíz en el Wix Xml y desplegar los archivos que van al directorio C a través del Wix Xml. Los archivos que tienen que implementarse en el directorio D tienen que implementarse a través de una acción personalizada.

Sin embargo, quiero evitar el uso de acciones personalizadas y quiero implementar archivos en ambas (unidades C y D) utilizando el mismo Wix Xml.

Respuesta

12

Toda la estructura de directorios debe estar siempre en el directorio "TARGETDIR". Pero nadie te limita a definir el resto de la estructura de la manera que necesites. Ver el ejemplo siguiente:

<Directory Id="TARGETDIR" Name="SourceDir"> 
    <Directory Id="INSTALLLOCATION" Name="My location"> 
    ... 
    </Directory> 
    <Directory Id="DATA_FOLDER" Name="Data"> 
    ... 
    </Directory> 
    <Directory Id="DATABASES_FOLDER"> 
    ... 
    <Directory> 
    </Directory> 

Ahora puede establecer DATA_FOLDER o DATABASES_FOLDER a estar en una unidad diferente a INSTALLLOCATION. Funciona bien para mí.

+0

¿Puede completar su respuesta definiendo por ejemplo DATA_FOLDER para que sea el disco del sistema (el disco con el directorio de Windows) y no la unidad disponible más grande como se define por defecto en Wix? – dendini

+0

Tomar la unidad más grande disponible no es WiX, sino el comportamiento de Windows Installer. El ejemplo anterior solo define la estructura del directorio, y a menos que establezca DATA_FOLDER, por ejemplo, volverá al comportamiento predeterminado de Windows Installer. Lo que se espera que haga es definir DATA_FOLDER mediante la acción personalizada de SetDirectory, o pasar el valor correcto desde la línea de comando: 'msiexec/i package.msi DATA_FOLDER = ...' –

+0

Acabo de leer su otra pregunta, y lo que Está buscando una propiedad probablemente WindowsVolume MSI: http://msdn.microsoft.com/en-us/library/windows/desktop/aa372817.aspx –

Cuestiones relacionadas