2010-03-17 16 views

Antwort

11

Wenn Sie wollen einfach nur das „uninstall app1“ Symbol im Startmenü zu löschen, soll folgende Arbeiten:

[InstallDelete] 
Type: files; Name: "{group}\uninstall app1" 

Wenn Sie die gesamte Programmgruppe entfernen mögen aus das Startmenü, verwenden Sie die folgenden Schritte aus:

[InstallDelete] 
Type: filesandordirs; Name: "{group}" 

Dies setzt voraus, dass Ihr Inno Setup Skript Startmenü Ordnernamen die gleiche wie zuvor, „app1“ ist Anwendung.

+1

Wenn Sie das bestimmte Menüpunkt entfernen müssen, müssen Sie .lnk zum Beispiel anwenden: Typ: Dateien ; Name: "{group} \ uninstall app1.lnk" –

2

Dank Craig meine neue App nicht den gleichen Namen haben (app2) im Anschluss an für mich gearbeitet

[InstallDelete] 
Type: filesandordirs; Name: {commonprograms}\app1 
+1

Beachten Sie, dass dies nicht funktioniert, wenn der Benutzer den Standardinstallationspfad geändert hat. – mghie

+0

Meinst du, es wird nicht funktionieren, wenn der Benutzer nicht unter Programmdateien installiert ist? – Gauls

6

Keiner von denen für mich gearbeitet, nach der Arbeit herumführen, hier ist meine Lösung; in [Setup]

//Delete old entry folder from start menu 
procedure DeleteOldStartMenuEntry; 
var 
entry: String; 
begin 
//Replace "Diviner" with desired folder name 
entry := ExpandConstant('{commonprograms}') + '\Diviner\'; 
if DirExists(entry) then begin 
    DelTree(entry, true, true, true); 
    end 
end; 

Innen InitializeSetup Ihre Prozedur aufrufen:

function InitializeSetup: Boolean; 
var: 
    .... 
begin 
    .... 
    DeleteOldStartMenuEntry; 
    .... 
end; 
+0

Das hat mir sehr gut gefallen - InnoSetup schließt sogar Explorer-Fenster, um das Verzeichnis löschen zu können. – gogowitsch

Verwandte Themen