Question

Je dois mettre en place une condition de lancement dans mon programme d'installation pour empêcher l'utilisateur d'exécuter le fichier MSI directement à moins qu'ils sont en cours d'exécution d'une désinstallation. (Tous les autres types d'installation doivent être exécutés à partir de l'application d'amorçage afin qu'il puisse assurer que toutes les conditions sont remplies.)

Quelles sont les conditions à je dois vérifier cela? J'ai essayé REMOVE="ALL" OR BOOTSTRAP (BOOTSTRAP est une propriété que mon application bootstrap sur la ligne définit de commande lors de son lancement le MSI), mais aussi que les déclencheurs sur une installation de réparation, que je ne veux pas.

Était-ce utile?

La solution 2

Pour autant que je peux dire, à ce jour, il ne semble pas être un moyen d'empêcher les installations de réparation d'être exécuter lors lancé un MSI directement, donc je devais ajouter OR REINSTALL="ALL" à ma condition de lancement. Si quelqu'un connaît un moyen de permettre réparations à faire uniquement via le programme d'amorçage, une explication serait très apprécié.

Autres conseils

Personnellement, je vais sur ce d'une manière différente. Je pense qu'un utilisateur peut exécuter le MSI et non le SETUP.EXE donc je dupliquer intentionnellement tous mes BootStrapper vérifie Préalable dans le MSI à l'aide AppSearch et LaunchConditions. De cette façon, si elles sauter soit le programme d'amorçage ou il échoue en quelque sorte mon MSI peut encore attraper le problème.

Je suit également la pratique de annexant « ou installé » sur mes conditions pour qu'un manque prereq ne gênera pas désinstalle.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top