ver poner fuente ejemplos editar cursiva como codigo abierto wix wix3.6

poner - ver html wix



Eliminar diálogo de licencia (4)

Esta simplificación del XML mencionado anteriormente ( http://www.howdoicode.net/2011/09/wix-how-to-hide-license-agreement.html ) funcionó para mí; esto efectivamente omite la licencia en lugar de engancharse en una página personalizada

<UI Id=''Mondo''> <UIRef Id="WixUI_Mondo" /> <UIRef Id="WixUI_ErrorProgressText" /> <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="SetupTypeDlg" Order="3">1</Publish> <!-- skip the page on the way back too --> <Publish Dialog="SetupTypeDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="3">1</Publish> </UI>

Tengo que decir el enfoque general de copiar el código wix y piratearlo un poco ("Cambiar la secuencia de UI de un conjunto de diálogos incorporado" ( http://wixtoolset.org/documentation/manual/v3/wixui/wixui_customizations.html )) está un poco condenado realmente ... pero bueno

Estoy usando Wix 3.6 para hacer un MSI simple que se usa internamente. Me gustaría saber si hay una forma fácil de eliminar el cuadro de diálogo del acuerdo de licencia.

Gracias por cualquier sugerencia


La clave es crear una interfaz de usuario personalizada y conectar diferentes páginas. Vea la página en WixWiki

Desea capturar el código WixUI para el conjunto de diálogo que está utilizando (p. Ej., Mínimo, etc.), <UI Id=''MyAppWix_UIMinimal''> y <UI Id=''MyAppWix_UIMinimal''> un poco y cámbielo en su wxs principal. En lugar del cuadro de diálogo de bienvenida de WelcomeEulaDlg, desea utilizar WelcomeDlg. Ajuste las referencias y conecte el botón Siguiente en WelcomeDlg al siguiente cuadro de diálogo en la pila.

Aquí hay un buen enlace con el código: http://www.howdoicode.net/2011/09/wix-how-to-hide-license-agreement.html


Lo salté usando:

<UI> <UIRef Id="WixUI_InstallDir" /> <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" Order="2">1</Publish> <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="2">1</Publish> </UI>


Recientemente he encontrado un proyecto Wix # que imita los archivos XML de Wix, pero le permite codificar la configuración en C #. Puede encontrar este proyecto en https://wixsharp.codeplex.com . Inicialmente tuve el mismo problema con un archivo de licencia con los "Términos y condiciones" que deben aceptarse antes de que el usuario pueda instalar el software. Como la solución no era de tal naturaleza que requería que se aceptaran los "Términos y condiciones", tuve que encontrar una forma de eliminar este cuadro de diálogo.

Después de un poco de búsqueda (en Wix #), se me ocurrió lo siguiente:

WixSharp.CommonTasks.Tasks.RemoveDialogsBetween(project, WixSharp.Controls.NativeDialogs.WelcomeDlg, NativeDialogs.InstallDirDlg);

De acuerdo, entiendo que esto no resuelve el problema de manera absoluta, ya que esto significará que tendrías que volver a codificar tu solución, por lo que el siguiente puerto de escala fue mirar el archivo fuente de WiX que se emitió durante este proceso. .

Entonces a partir de eso, vi que había un elemento <UI> con lo siguiente:

<UI> <Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="InstallDirDlg" Order="5">1</Publish> <Publish Dialog="InstallDirDlg" Control="Back" Event="NewDialog" Value="WelcomeDlg" Order="5">1</Publish> </UI>

Lo que une el botón Siguiente en el cuadro de diálogo de bienvenida al cuadro de diálogo del directorio de instalación (o el cuadro de diálogo después del cuadro de diálogo de licencia), y el botón Atrás del cuadro de diálogo de instalación en el cuadro de diálogo de bienvenida , eliminando efectivamente el cuadro de diálogo de licencia.