Das kleine Beispiel habe ich mal fix mit Inno Setup 5.1.9 geschrieben. Die rot markierte Zeile sorgt dafür, dass sich das Setup auch ohne Admin-Rechte ausführen lässt. Aus Bequemlichkeit habe ich auch noch ein Stückchen Code eingebaut, so dass beim Admin der "Programme"-Ordner gewählt wird, beim normalen Benutzer aber der "Eigene Dateien"-Ordner (hätte man auch per Hand einstellen können
).
[code=pre][Setup]
AppName=Shortcut Test
AppVerName=Shortcut Test 1.0
DefaultDirName={code:GiveMeAPath|Shortcut-Test}
DefaultGroupName=Shortcut Test
PrivilegesRequired=none
[Files]
Source: "compiler:Examples\MyProg.exe"; DestDir: "{app}"
[Icons]
Name: "{group}\Mein Programm"; FileName: "{app}\MyProg.exe"; WorkingDir: "{app}";
Name: "{commondesktop}\Mein Programm"; FileName: "{app}\MyProg.exe"; WorkingDir: "{app}";
Code:
function GiveMeAPath(const DefaultPathName: string): string;
begin
if IsAdminLoggedOn then Result := ExpandConstant('{pf}')
else Result := ExpandConstant('{userdocs}');
Result := Result + '\' + DefaultPathName;
end;
Das Setup kopiert eine Datei aus den Inno Setup-Beispielen in den Zielordner und legt zwei Verknüpfungen an: auf dem Desktop und im Startmenü. Bist du Admin, dann gelten diese Verknüpfungen für alle Benutzer. Bist du ein eingeschränkter Benutzer, gelten die Verknüpfungen nur für dich.
Du siehst, du musst gar nichts machen.