Question

Donc, j'essaie de, après l'installation d'une application (bien qu'en réalité, le moment d'exécution de l'application secondaire n'a pas d'importance, car elle n'interagit pas avec les fichiers installés pendant l'installation), lancez une autre programme qui est fourni avec l'application. Code pertinent (avec divers éléments remplacés par & "; ... &";:

<directory ...>
  <component ...>
  <File Id="IDINST" ... />
  </component>
</directory>
...
<CustomAction Id="IDACTION" FileKey="IDINST" ExeCommand="..." Return="ignore" />
...
<InstallExecuteSequence>
  <Custom Action="IDACTION" After="CostFinalize" />
</InstallExecuteSequence>

J'ai vérifié le répertoire et le fichier correspondait à mes attentes, mais il n'a pas été exécuté après le processus d'installation. En vérité, je ne souhaite même pas que ce fichier soit installé, il suffit de l'exécuter, puis de le supprimer. Mais je vais ignorer ça pour l'instant. Quoi qu’il en soit, j’ai vu plusieurs exemples d’activation d’actions après des dialogues, mais depuis que je suis en train d’utiliser <UIRef Id="WixUI_Minimal" />, je ne pense pas que ce soit l’idéal.

Était-ce utile?

La solution

CostFinalize intervient bien avant l'exécution de l'action différée InstallFiles (qui place en fait le fichier). Ainsi, CustomAction échoue (car le fichier n'est pas disponible) en mode silencieux (car Return est ignorer)

Vous avez besoin que votre CustomAction soit planifiée au moins après InstallFiles et soit différée ou si elle ne peut pas s'exécuter différée, elle doit l'être après InstallFinalize (bien sûr, elle ne peut pas être annulée après InstallFinalize).

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