Je ne suis pas chez moi en ce moment, mais je peux te dire que c'est un problème de répertoire d'exécution. Quand tu lances un programme, tu ne le lances pas nécessairement à partir de son répertoire. Il prend alors en référence le répertoire d'où tu l'exécutes (je ne sais pas si c'est clair...). Par exemple, si tu es dans l'Invite de commande, et que tu es dans Mes Documents. Si tu demandes d'exécuter un programme dans Program Files, l'exécutable prendra en considération que le répertoire d'exécution est Mes Documents.
Habituellement, tu peux spécifier le working directory lorsque tu appelles un programme. Malheureusement, je n'ai pas vraiment les connaissances nécessaires de NSIS pour te fournir la solution.