2011-01-04 9 views
5

tengo múltiples entornos, construir, probar, etc. prodWIX múltiples copias del mismo archivo de MSI, pero sólo una se instalará

me gustaría crear un único instalador en Wix, que puede contener varias máquinas .config archivos. luego, basado en el valor de característica pasado a través de la línea de comando, solo se instalará un archivo.

Conceptualy suena fácil, pero recibo un error ICE30 indicando que

"ICE30: El archivo de destino 'btfrgsa_ | [nombre de archivo]' se instala en '[TARGETDIR] \ NETFRAMEWORK40FULLINSTALLROOTDIR64 \ CONFIG \' por dos componentes diferentes en un sistema LFN: 'MachineConfigs.WS' y 'MachineConfigs.APP'. Esto interrumpe el conteo de referencias de componentes. ".

¿cuál sería la mejor manera de hacerlo?

gracias

Semaj

+0

Intentaste mirar las declaraciones de Condición. Eso podría ser incluso más fácil que la respuesta que seleccionó. – Adkins

Respuesta

6

Un par de enfoques:

  1. Crear varias características y componentes con archivos de diferentes nombres (1.config, 2.config) y luego usar el CopyFile elemento para hacer que x.config se copie al nombre real del archivo.) Esto dará como resultado la implementación de x.config y real.config, pero es inofensivo y la desinstalación funcionará limpiamente.

  2. Identifique las diferencias entre los x.configs y use los cambios XML para aplicarlos en el momento de la instalación utilizando declaraciones xpath.

+0

creo que puedo hacer uso de no. 1. gracias, Semaj – semaj

+1

+1 Por usar XMLConfig: podría ser más trabajo por adelantado, pero es mucho más limpio a largo plazo. –

+0

Me doy cuenta de que esto está etiquetado para wix, sin embargo, ¿existe una solución similar con el número 1 para InstallShield? O igual de bueno, una explicación de qué tablas msi están en uso con esta solución (MoveFile?)? – JohnZaj

Cuestiones relacionadas