2016-03-18 11 views
0

Ich verwende nsis, um Windows-Installer für meine Anwendung zu erstellen. Ich habe im Startmenü Verknüpfungen für die App und die uninstall.exe hinzugefügt und lösche sie als Teil der Deinstallation, aber die Verknüpfungen werden nicht während der Deinstallation gelöscht. Snippet des Installations- und Deinstallationscodes ist wie folgt:nsis Verknüpfungen nicht nach der Deinstallation löschen

section "install" 
    createDirectory "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\" 
    createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\${APPNAME} Uninstall.lnk" "$INSTDIR\uninstall.exe" 
    createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\${APPNAME}.lnk" "$INSTDIR\app.exe" "" "$INSTDIR\logo.ico" 
sectionEnd 

section "uninstall" 
    delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\${APPNAME}.lnk" 
    delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}\${APPNAME} Uninstall.lnk" 
    rmDir /r "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}"  
sectionEnd 

Kann mir bitte jemand dabei helfen.

Antwort

0

Hinzufügen von Details über welche Windows-Version Sie dies auf etc. sehen, würde helfen, aber ich werde das this only happens on Vista and later erraten. Diese Versionen von Windows verfügen über eine Kompatibilitätshilfe, die bestimmte Verknüpfungen in das Startmenü für alle Benutzer verschiebt.

Um Windows daran zu hindern, müssen Sie das Installationsprogramm als UAC-kompatibel markieren, indem Sie das RequestExecutionLevel-Attribut zu Ihrem Skript hinzufügen.

+0

Ich verwende Windows 7. Dieser Fix hat daran gearbeitet. – am28