2010-10-23 19 views
0

Je construis un package d'installation/mise à niveau avec WiX. J'utilise le jeu de dialogue WixUI_InstallDir.Comment définir UILevel sur INSTALLUILEVEL_BASIC lors d'une mise à niveau majeure?

Ce que je veux faire est d'avoir une installation entièrement automatisée (aucun assistant) lors de l'exécution d'une mise à niveau majeure du produit installé.

Est-il possible de:

  • changer conditionnellement la valeur de UILevel lors de l'installation? (INSTALLUILEVEL_FULL/INSTALLUILEVEL_BASIC)
  • Modifier le jeu de dialogue de manière conditionnelle? (WixUI_InstallDir/WixUI_Minimal)

Ou y a-t-il une meilleure façon de le faire?

Répondre

1

Dans BasicUI, la séquence d'interface utilisateur n'est pas exécutée. Le problème est que vous ne savez pas si vous êtes une MajorUpgrade jusqu'à ce que FindRelatedProducts s'exécute et trouve un ProductCode associé. Je pense que le mieux que vous puissiez faire est de mettre une condition sur votre WelcomeDlg pour ne pas être affiché quand il s'agit d'une mise à jour majeure.

+0

D'accord. La seule façon de découvrir cela en premier serait dans un programme d'amorçage qui a effectué les mêmes vérifications que FindRelatedProducts, et lancé le .msi en conséquence. –