2011-01-19 2 views
0

J'utilise le générateur CPack NSIS pour créer un installateur. Cependant, chaque fois que je publie une nouvelle version, nos utilisateurs exécutent le nouveau programme d'installation sans désinstaller l'ancienne version (ce qui est compréhensible).Comment mettre à niveau CPack (NSIS) correctement pour les nouvelles installations?

Est-il possible de faire en sorte que le programme d'installation écrase tous les fichiers existants? A défaut, existe-t-il un moyen de bloquer l'installation si elle est déjà installée?

En outre, notre appel CPack est enveloppé dans un autre script, en dernier recours, est-il possible pour moi de pirater/reconfigurer le fichier project.nsi afin qu'il fasse l'un des précédents?

Répondre

0

Ma solution a été de maintenir séparément le fichier NSIS, se révèle être pas beaucoup d'effort supplémentaire.

4

Vous devez éditer le modèle NSIS utilisé par CPack. Vous pouvez le trouver dans votre dossier d'installation de cmake/Modules/NSIS.template.in.

Là, quelque part, peut-être dans le début de la section générale, vous pouvez mettre: SetOverwrite sur

Cela devrait faire l'affaire, même si je ne l'ai pas eu la chance de l'essayer.

Pour plus de détails sur les arguments de SetOverwrite lire le script NSIS manual

Questions connexes