2011-08-08 9 views
5

Estoy trabajando en un instalador que coloca algunos archivos en otra aplicación que conserva sus archivos en [SystemDrive] \ appName. El instalador solo se usa en automatización interna, por lo que está bien si no considera otras ubicaciones de instalación.WiX - Instalación de archivos en la unidad del sistema

He encontrado que, de forma predeterminada, WiX establece el directorio de destino para la unidad con más espacio libre. ¿Cuál es la mejor manera de especificar un determinado directorio en la unidad del sistema?

Respuesta

6

establecer el valor de ROOTDRIVE a la unidad que desea

<CustomAction Id='SetRootDrive' Property='ROOTDRIVE' Value='[%SystemDrive]\'/> 

unidad del sistema será por defecto la unidad predeterminada utilizada por el sistema operativo

código

Agregado a llamar 'SetRootDrive' acción: Usted necesita llamarlo desde InstallUISequence

<InstallUISequence> 
    <Show Dialog="MyWelcomeDlg" Before="CostFinalize">NOT Installed</Show> 
    <!-- App search is what does FindInstallLocation, and it is dependent on FindRelatedProducts --> 
    <AppSearch After="FindRelatedProducts"/> 
    <Custom Action="SetRootDrive" Before="CostInitialize"></Custom> 
</InstallUISequence> 
+0

¿Cuándo se debe programar esta acción personalizada? Lo tengo configurado antes de Cost Initialize y parece que no funciona. –

+0

He agregado la llamada en mi respuesta –

+0

¡Muchas gracias! Eso funciona genial! –

3

MSI ya le da el valor en WindowsVolum e propiedad. Úselo como el Directorio principal/@ Id.

Cuestiones relacionadas