Sample:
Root: "HKLM64"; Subkey: "Software\Community Talks\Public Talks\Preferences"; \
ValueType: dword; ValueName: "ReuseCong"; ValueData: "{code:ReuseCongregation}"; \
Flags: uninsdeletevalue; Check: IsNewInstall IsWin64
Root: "HKLM64"; Subkey: "Software\Community Talks\Public Talks\Preferences"; \
ValueType: dword; ValueName: "Duplicate"; ValueData: "{code:Duplicate}"; \
Flags: uninsdeletevalue; Check: IsNewInstall IsWin64
Root: "HKLM64"; Subkey: "Software\Community Talks\Public Talks\Preferences"; \
ValueType: dword; ValueName: "Language"; ValueData: "{code:DatabaseLanguage}"; \
Flags: uninsdeletevalue; Check: IsNewInstall IsWin64
Will not compile:
Error on line 406 in
setup.iss: Directive or parameter"Check"expression error: Invalid token'IsWin64'found.
I can't change the IsNewInstall function:
// Returns True if we are performing a new install
function IsNewInstall(): Boolean;
begin
// Make sure IsUpgrading has already beed called.
result := not bIsUpgrading;
end;
But I include it if it helps.
The Check parameter supports simple boolean operators like or or and. Examples are given at the end of Components and Tasks Parameters documentation.
You want and here, I assume:
Check: IsNewInstall and IsWin64
Alternatively, particularly if the expression gets too complicated or when it is used frequently, you can factor it out to a separate function:
function IsNewInstallOnWin64: Boolean;
begin
Result := IsNewInstall and IsWin64;
end;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With