Gast
#3389979
Hi,
ich habe mitbekommen, dass hier einige InnoSetup-Profis sind.
Im Inno-Setup Forum wollen sie mich nicht (anscheindend weil ich eine
gmx-Adresse habe), darum meine Hoffnung dass mir hier wer weiterhelfen
kann.
Ich habe mir aus den einzelnen Examples einen Installer
"zusammenkopiert", der nun soweit funktioniert.
Ich kann nur C und C++ aber kein Pascal, darum habe ich bei der
Erstellung einige Verständnisschwierigkeiten:
Ich habe ja folgende Funktion für den Deinstaller
[code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
i : Integer;
ValueNames : TArrayOfString;
FileInstallPath : String;
begin
if (RegGetValueNames(HKEY_LOCAL_MACHINE,
ExpandConstant(UNINSTALL_SUBKEY + '\{#ApplicationName}'), ValueNames))
then begin
for i := 0 to GetArrayLength(ValueNames) - 1 do begin
if (RegQueryStringValue(HKEY_LOCAL_MACHINE,
ExpandConstant(UNINSTALL_SUBKEY + '\{#ApplicationName}'), ValueNames[i],
FileInstallPath)) then begin
if (DeleteFile(FileInstallPath)) then begin
RegDeleteValue(HKEY_LOCAL_MACHINE,
ExpandConstant(UNINSTALL_SUBKEY + '\{#ApplicationName}'),
ValueNames[i]); end;
end;
end;
end;
end;
[\code]
Diese funktioniert wunderbar. Nun möchte ich im Anschluss an die
Installation die exe des Programms noch starten. Dies funktioniert ja
normalerweise so:
[code]
[Run]
Filename: "{app}\{#AppExeName}"; Description:
"{cm:LaunchProgram,{#StringChange(ApplicationName, '&', '&&')}}"; Flags:
nowait postinstall skipifsilent
[\code]
Ich habe nur leider den Pfad nicht, da dieser anhand der Registry-Keys
automatisch herausgesucht wurde. In der Uninstallerfunktion steckt er ja
in der Variablen: "FileInstallPath", aber kann ich auch unter [RUN]
darauf zugreifen? Wenn ja, wie?? Oder ist das wie in C, dass diese
Variable nur innerhalb der procedure (=Funktion) gültig ist??