Hi all,
I have two following files.
setup-base.iss
function GetAppDataDir(Param: String): String;
begin
Result := ExpandConstant('{autoappdata}\{#SetupSetting("AppName")}');
end;
setup-client.iss
#include "..\setup-client.iss"
#define MyAppName "My App"
[Setup]
AppName={#MyAppName}
[Code]
procedure InitializeWizard();
begin
AppDataDir := GetAppDataDir('');
end;
As you see, setup-base.iss is included by setup-client.iss. When the installer is being executed, ExpandConstant('{autoappdata}\{#SetupSetting("AppName")}') evaluates to 'C:\ProgramData\'.
When {#SetupSetting("AppName")} is evaluated from inside setup-client.iss everything works fine.
Why does {#SetupSetting("AppName")} evaluates to an empty string?
Regards,
Abid