Add support for InnoSetup 'Constants'
Brought to you by:
yackimoff
It should be great to add support in InnoSetup Preprocessor for the same InnoSetup Constants:
. Directory Constants ({sys}, {syswow64}, {pf32}, {pf64}, {cf32}, {cf64}, {fonts}, {dao}, ...)
. Shell Folder Constants ({group}, {localappdata}, ...)
. the 'Other Constants' ({computername}, {param:ParamName|DefaultValue}, {sysuserinfoname}, {sysuserinfoorg}, {username}, ...)
Using the same Prototype as InnoSetup:
str ExpandConstant(str)
So, it will be easier and cleaner to do such things (ugly atm):
#define SystemPaths 6 #dim SystemPathConstants[SystemPaths] #dim SystemPathValues[SystemPaths] #define SystemPathConstants[0] "{win}" #define SystemPathValues[0] GetEnv("windir") #define SystemPathConstants[1] "{sys}" #define SystemPathValues[1] GetEnv("windir") + "\system32" #define SystemPathConstants[2] "{syswow64}" #define SystemPathConstants[3] "{pf}" #define SystemPathConstants[4] "{cf}" #define SystemPathConstants[5] "{commonappdata}" #ifdef WinXP #define SystemPathValues[2] SystemPathValues[1] #define SystemPathValues[3] GetEnv("ProgramFiles") #define SystemPathValues[4] GetEnv("CommonProgramFiles") #define SystemPathValues[5] "" #endif #ifdef Win7 #define SystemPathValues[2] GetEnv("windir") + "\SysWOW64" #define SystemPathValues[3] GetEnv("ProgramFiles(x86)") #define SystemPathValues[4] GetEnv("CommonProgramFiles(x86)") #define SystemPathValues[5] GetEnv("ProgramData") #endif