2017-02-23 3 views
0

Je travaille avec NSIS 2.46 pour construire des programmes d'installation. Dans le cadre du processus de construction du programme d'installation, j'ai besoin d'utiliser !system pour exécuter certaines commandes (dans ce cas, certaines commandes Python/pip, bien que ce ne soit pas important). Je voudrais être capable de gérer des situations où !system renvoie une valeur non nulle (probablement, en utilisant simplement !error pour afficher un message et quitter, bien que cela ne soit pas important).Comment détecter et gérer les erreurs de compilation NSIS?

Comment puis-je accéder à la valeur de retour de !system pour vérifier les erreurs?

J'ai regardé la documentation, et j'ai cherché ici et ailleurs, mais je n'ai pas encore trouvé de réponses.

+0

v2.46 est vieux, vous devriez au moins mettre à niveau vers v2.50. – Anders

+0

Quand vous avez dit que vous avez regardé la documentation, avez-vous regardé la documentation pour le système? – Anders

Répondre

1

En NSIS v2 tout ce que vous pouvez faire est !system '"whatever" /whatever' = 0 et le compilateur abandonnera si le code de sortie n'est pas 0.

Dans la version 3, il est également possible d'enregistrer le code de sortie dans une définition:

!system '"whatever" /whatever' code 
!if ${code} > 666 
!error "Ooops" 
!endif 
+0

Merci beaucoup! Je pense que j'ai dû me méprendre sur ce que cela disait dans la documentation, la première fois que je l'ai lue. –