subir sirve sacar que para insertar fuente ejemplos editar cursiva como codigos codigo archivo wix installer windows-installer custom-action

sirve - subir archivo html a wix



Insertar acción personalizada entre cuadros de diálogo(InstallUISequence) en WiX (1)

En lugar de programar la acción personalizada en InstallUISequence , puede publicarla en el botón, haga clic en:

<Dialog Id="DialogA" ...> <Control Id="ControlEdit" Type="Edit" Property="MY_PROPERTY" .../> <Control Id="ControlNext" Type="PushButton" ...> <Publish Event="DoAction" Value="MyCustomAction">1</Publish> <Publish Event="EndDialog" Value="Return">1</Publish> </Control> </Dialog>

EDITAR: La condición del elemento Publish debe evaluarse explícitamente como verdadera para ejecutarse, por lo tanto, agregue "1" como el texto de los elementos Publish .

Tengo dos cuadros de diálogo personalizados (más los necesarios ExitDlg , FatalErrorDlg , etc.), el primero establece una propiedad usando un control de Edición y el segundo muestra esta propiedad usando un control de Texto. Aquí está el código significativo:

<Dialog Id="DialogA" ...> <Control Id="ControlEdit" Type="Edit" Property="MY_PROPERTY" .../> <Control Id="ControlNext" Type="PushButton" ...> <Publish Event="EndDialog" Value="Return" /></Control> </Dialog>

Y luego el segundo diálogo:

<Dialog Id="DialogB" ...> <Control Id="ControlText" Type="Text" Text="[MY_PROPERTY]" .../> <Control Id="ControlBack" Type="PushButton" ...> <Publish Event="EndDialog" Value="Return" /></Control> <Control Id="ControlNext" Type="PushButton" ...> <Publish Event="EndDialog" Value="Return" /></Control> </Dialog>

Y la secuencia de acción:

<InstallUISequence> <Show Dialog="DialogA" Before="MyCustomAction" /> <Custom Action="MyCustomAction" Before="DialogB" /> <Show Dialog="DialogB" Before="ExecuteAction" /> </InstallUISequence>

La acción personalizada cambia el valor de MY_PROPERTY . Mi problema es cómo hacer que el botón Atrás en DialogB regrese a DialogA . Usar NewDialog es simple, pero no puedo ejecutar la acción personalizada entre los cuadros de diálogo, ¿o sí?

editar - 2013-05-02

Después de la respuesta de @caveman_dick, traté de cambiar el DialogA casi como él dijo, pero en lugar de usar EndDialog , cambié a Action="NewDialog" Value="DialogB" . Pero ahora la acción personalizada no se está llamando. Si elimino el evento Publicar para ir al siguiente diálogo, se llama a la CA. Si me voy como dijo @caveman_dick, no puedo volver a DialogA desde DialogB .

editar - 2013-05-02

Después de buscar en el libro WiX 3.6: Una guía del desarrollador de Windows Installer XML , encontré lo siguiente: "si tiene más de un evento de publicación, deben tener sentencias condicionales como texto interno. De lo contrario, todos los eventos simplemente no ser publicado."

Entonces, la respuesta de @caveman_dick es correcta, excepto que debe cambiar a lo siguiente:

<Publish ...>1</Publish>