Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Inno Setup Gruppe während der Installation ändern (https://www.delphipraxis.net/174208-inno-setup-gruppe-waehrend-der-installation-aendern.html)

v2afrank 9. Apr 2013 13:06

Inno Setup Gruppe während der Installation ändern
 
Hallo,
ich habe hier ein Programm, welches wir als OEM version vertreiben. Das heist bestimmte Namen in der Software und auch Installationspfade müssen angepasst werden. Soweit erst mal auch kein Problem.
Jetzt scheitere ich im letzten Schritt beim Setup (mit Inno Setup). Und zwar kann ich im Script während der Installation den Namen des Programmes und weiter Einstellungen einlesen.
Und zwar habe ich mir im eine Delphi Dll gebastelte die mir die Strings je nach Keyword zurück gibt. Im Script sieht das so aus
Delphi-Quellcode:
[Code]
function GetName(Path:PAnsiChar;Section:PAnsiChar;Entry:PAnsiChar):PAnsiChar;
external 'GetName@files:lang.dll setuponly';

function getAppName(Param: String) :String;
begin
 result:= String(GetName(ExpandConstant('{src}'),'Setup','Title' ));
end;

function getExeName(Param: String) :String;
begin
 result:= String(GetName(ExpandConstant('{src}'),'Setup','ExeName' ));
end;

function getGroup(Param: String) :String;
begin
 result:= String(GetName(ExpandConstant('{src}'),'Setup','Group' ));
end;

[Setup]
UsePreviousLanguage=No
AppName={code:getAppName}
DefaultGroupName={code:getGroup}
Das funktioniert auch sehr zuverlässig, auch mit weiteren Konstanten. Wobei ich hier die weiteren Deklarationen weggelassen habe
Jetzt scheitere ich aber an der Anpassung der Programmgruppe. Im Auswahldialog wird mir die richtige Gruppe vorgeschlagen, aber wenn ich die über
Delphi-Quellcode:
[Icons]
Name: {group}\{code:getAppName}; Filename: {app}\{code:getExeName}
anlegen will funktioniert es nicht. Es wird gar nichts angelegt.
Hat einer einen Tipp für mich ?

v2afrank 10. Apr 2013 07:15

AW: Inno Setup Gruppe während der Installation ändern
 
So ich habe es jetzt gefunden


Delphi-Quellcode:
[Code]

function GetProgramGroup(Param: String) :String;
begin

 result:=ExpandConstant('{commonstartmenu}')+'\' + String(GetName(ExpandConstant('{src}'),'Installation','ProgrammGruppe'));
end;

[Icons]
Name: "{code:GetProgramGroup|}\{code:getAppName}"; Filename: "{app}\{code:getExeName}"
So funktioniert es


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz