Pregunta Ordenar la ejecución de acciones de WiX SetProperty


Tengo una secuencia de SetProperty acciones que dependen el uno del otro. Aquí hay un ejemplo simplificado:

<SetProperty Id="A" Before="AppSearch" Value="Hello" />
<SetProperty Id="B" Before="AppSearch" Value="[A] world!" />

La propiedad A debe establecerse antes que la propiedad B en este caso, de modo que el valor de B se convierta en "¡Hola mundo!".

Ya que WiX no define un atributo para establecer el nombre de la acción personalizada en este caso, no tengo un nombre para usar en el antes de o Después atributos.

yo hizo observe que el orden de ejecución de estas acciones coincide con el orden alfabético de los nombres de propiedad, pero se siente como un detalle de implementación en el que no debería confiar.

¿Cómo ejecuto limpiamente el orden de SetProperty acciones personalizadas


6
2017-11-28 00:40


origen


Respuestas:


También puede usar el atributo "Acción" del elemento SetProperty para identificar el nombre de la acción personalizada. Esto se vuelve esencial si desea establecer la misma propiedad en dos acciones distintas de SetProperty, ya que elimina los nombres ambiguos de las acciones "SetXXX".

Por ejemplo:

<SetProperty Id="A" Action="MyFirstAction" Before="AppSearch" Value="Hello" />
<SetProperty Id="B" Action="MySecondAction" After="MyFirstAction" Value="[A] world!" />
<SetProperty Id="A" Action="MyThirdAction" After ="MySecondAction" Value="Goodbye cruel world!" />

9
2017-07-10 08:43



solía orca para descubrir los nombres generados para las acciones personalizadas. Ellos resultan ser SetA y SetB. El siguiente hace lo que quiero:

 <SetProperty Id="A" Before="AppSearch" Value="Hello" />
 <SetProperty Id="B" After="SetA" Value="[A] world!" />

4
2017-11-28 21:37