2017-08-17 4 views
0

c'est un exemple simpliste de mon problème:bundle Wix exécute un fichier BAT compilé à la fin, que l'arrêt de la force

J'ai ce simple paquet

<Chain> 
    <ExePackage SourceFile="C:\Users\this\Desktop\AAA\eee.exe"></ExePackage> 
</Chain> 

le eee.exe est le résultat de IEXPRESS de deux fichiers

  • eee.bat
  • eee.txt

IEXPRESS court cmd/c eee.bat

eee.bat faire des choses se termine alors avec cette ligne

shutdown -r -f -t 0 

une fois le résultat de la Wix, le programme d'installation, est exécuté il force le redémarrage puis exécutez à nouveau la instller

comment peut-on changer le comportement de cette sorte qu'il ne sera pas ré-exécuter le programme d'installation après le redémarrage

+0

Modifiez quelle partie de votre code réexécute le programme d'installation après le redémarrage. Ce n'est pas dans le code que vous avez posté. Essayez de chercher dans eee.bat. – jmoon

+0

est très probablement que le "shuthown -r -f -t 0" interopt l'installateur wix, donc Windows pense que l'installation n'est pas encore terminée, et après le redémarrage, il a lancé à nouveau. – Hassan

+0

Ah, donc vous voulez tuer le processus avant l'arrêt. https://stackoverflow.com/questions/2888851/how-to-stop-process-from-bat-file – jmoon

Répondre

0

i résolu le problème en utilisant le

en adition à cela, je l'ai utilisé RegistrySearch pour créer une variable pour détecter si le logiciel est installé ou non.

1

Obliger un redémarrage au milieu de votre installation n'est pas une bonne pratique. Comme les commentaires à votre poste l'ont souligné, vous interrompez votre propre programme d'installation. Au lieu de cela, vous pouvez utiliser un code de sortie réussi (0) pour demander à votre programme d'installation de redémarrer. N'oubliez pas de retirer la ligne d'arrêt du fichier BAT.

+0

Ce faisant, il relance le programme d'installation après le redémarrage. il relance deux instances !! – Hassan

+0

Avez-vous supprimé la commande shutdown du fichier de traitement par lots compilé? Si vous l'avez fait et que le programme d'installation est toujours relancé, vous devriez publier le reste du code afin que nous puissions comprendre pourquoi il redémarre. – philselmer