2010-01-20 6 views
2

Est-il possible de dire à NSIS de ne pas écraser mon raccourci du menu Démarrer? La raison pour laquelle je ne veux pas qu'il soit écrasé est que les options de ligne de commande de l'utilisateur ne sont pas effacées lors de la mise à niveau vers une nouvelle version. J'ai essayé ceci en vain:NSIS remplace les raccourcis

Section -AdditionalIcons 
    SetOverwrite off 
    CreateDirectory "${START_MENU_DIR}" 
    CreateShortCut "${START_MENU_LNK}" "$INSTDIR\${PRODUCT_NAME}.exe" 
SectionEnd 

Répondre

3

Pourquoi ne pouvez-vous pas simplement vérifier avec IfFileExists? Si vous voulez tout faire, vous pouvez mettre à jour le chemin et le répertoire de travail, mais laissez les paramètres et l'icône en place, mais pour ce faire, vous devrez appeler vous-même l'interface IShellLink COM (Avec le système plugin ou un plug-in/application personnalisée)

+0

Oui merci. Je me suis rendu compte que la nuit dernière. Cela fonctionne très bien. J'ai mis un exemple de code comme une autre réponse. –

1

Voici un exemple qui fonctionne:

Section -AdditionalIcons 

    CreateDirectory "${START_MENU_DIR}" 
    IfFileExists "${START_MENU_LNK}" SkipShortcut 
    CreateShortCut "${START_MENU_LNK}" "$INSTDIR\${PRODUCT_NAME}.exe" 

SkipShortcut: 

SectionEnd