Je voudrais utiliser le programme d'installation de WixUI_Minimal, mais je ne veux pas de la page de licence. Comment puis-je faire ceci?
La clé est de créer une interface utilisateur personnalisée et de connecter différentes pages. Voir la page sur WixWiki
Vous voulez saisir le code minimal WixUI , et le modifier un peu. Au lieu de la boîte de dialogue de bienvenue WelcomeEulaDlg, vous souhaitez utiliser le WelcomeDlg. Ajustez les références et connectez le bouton Suivant du WelcomeDlg à la boîte de dialogue suivante de la pile, qui serait le PrepareDlg.
Code complet:
<UI Id="WixUI_Minimal">
<TextStyle Id="WixUI_Font_Normal" FaceName="Tahoma" Size="8" />
<TextStyle Id="WixUI_Font_Bigger" FaceName="Tahoma" Size="12" />
<TextStyle Id="WixUI_Font_Title" FaceName="Tahoma" Size="9" Bold="yes" />
<Property Id="DefaultUIFont" Value="WixUI_Font_Normal" />
<Property Id="WixUI_Mode" Value="Minimal" />
<DialogRef Id="ErrorDlg" />
<DialogRef Id="FatalError" />
<DialogRef Id="FilesInUse" />
<DialogRef Id="MsiRMFilesInUse" />
<DialogRef Id="PrepareDlg" />
<DialogRef Id="ProgressDlg" />
<DialogRef Id="ResumeDlg" />
<DialogRef Id="UserExit" />
<!-- This is the welcome dialog you specified-->
<DialogRef Id="WelcomeDlg" />
<!-- Hook the new welcome dialog to the next one in the stack-->
<Publish Dialog="WelcomeDlg" Control="Next" Event="NewDialog" Value="PrepareDlg">1</Publish>
<Publish Dialog="ExitDialog" Control="Finish" Event="EndDialog" Value="Return" Order="999">1</Publish>
<Publish Dialog="VerifyReadyDlg" Control="Back" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
<Publish Dialog="MaintenanceWelcomeDlg" Control="Next" Event="NewDialog" Value="MaintenanceTypeDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RepairButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="RemoveButton" Event="NewDialog" Value="VerifyReadyDlg">1</Publish>
<Publish Dialog="MaintenanceTypeDlg" Control="Back" Event="NewDialog" Value="MaintenanceWelcomeDlg">1</Publish>
<Property Id="ARPNOMODIFY" Value="1" />
</UI>
<UIRef Id="WixUI_Common" />
J'utiliserais simplement l'une des interfaces utilisateur WiX déjà créées et remplacerais la séquence (augmentez-la pour qu'elle remplace le paramètre précédent):
<Product>
...
<UI>
<UIRef Id="WixUI_InstallDir" />
<!-- Skip license dialog -->
<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>
<Property Id="WIXUI_INSTALLDIR" Value="INSTALLFOLDER" />
...
</Product>
Le moyen peu technique de contourner ce problème consiste simplement à définir la propriété LicenseAccepted
sur 1
et mettez des informations utiles sur le type de fichier Lisez-moi dans la boîte de licence. Cela signifie que l'utilisateur n'a pas à cliquer sur la case et que vous n'avez pas à vous soucier de créer une boîte de dialogue supplémentaire :)
Exemple:
<Property Id="LicenseAccepted" Value="1"/>
Voir réponse à une question connexe , script WiX avec seulement les écrans Bienvenue et Terminé , pour l'interface utilisateur minimale la plus simple:
La réponse de @Ran Davidovitz est très bonne
mais soyez prudent:
<Publish Dialog="InstallDirDlg"
Control="Back"
Event="NewDialog"
Value="WelcomeDlg"
Order="2">1</Publish>
il doit avoir Ordre = "2"ou cela ne peut pas fonctionner.