MSI / WiX - Asignación de GUID de componentes durante transformaciones de instancias múltiples

Utilizando WiX 3.5, tengo un MSI con transformaciones de instancia que me permite instalar el software en la misma máquina con diferentes nombres de productos. Para hacer esto, tengo una lista "codificada" de identificadores y nombres de productos en el archivo .wxs definidos condicionalmente. Sin embargo, solo tengo la única definición de Feature-ComponentRef que incluye recursos de archivos y no archivos.

a instalación parece funcionar bien, pero desinstalar las instancias demuestra el comportamiento mencionado en estas dos fuentes:

http: //msdn.microsoft.com/en-us/library/aa367797 (v = VS.85) .aspx

http: //windows-installer-xml-wix-toolset.687559.n2.nabble.com/Multiple-Instance-Transforms-Walkthrough-Proposed-Simple-Addition-to-WiX-to-Make-Them-Easier-td708828 .html

Específicamente, ninguno de los recursos que no son archivos (en este caso, entradas de registro) se desinstalan, salvo la última instancia de mi aplicación. (es decir, si desinstalo en este orden: instancia1, instancia2 e instancia3, solo se eliminan los recursos que no son archivos de la instancia3.

Supongo que esto está relacionado con no tener GUID únicos para los componentes que no son archivos (mientras que esto no es un problema para los componentes del archivo)

Entonces, me preguntaba si un enfoque válido sería definir un solo archivo .wxs con una identificación de producto, nombre y un conjunto de características, pero tener un programa de arranque personalizado que genere nuevos GUID para el producto y los componentes que no son archivos que luego obtienen insertado en la base de datos MSI en tiempo de ejecución? es decir, cuando llegue el momento de desinstalar o actualizar, consultaría el registro para ver las instancias instaladas y luego recuperaría sus GUID.

Esto permitiría crear instancias en tiempo de ejecución en lugar de codificarlas en los .wxs de antemano, y desinstalarlas limpiamente.

¿Tiene sentido? ¿Burn hará que todo sea mejor? :)

Respuestas a la pregunta(2)

Su respuesta a la pregunta