I am using Inno Setup Key Generator (IKG). I successfully call ValidateSerialNumber
Valid := ValidateSerialNumber(ExpPath,RegName,'','','','',PrivKey,RegKey);
As long as I pass empty Strings for PrivKey and RegKey the function returns false as expected. As soon as I pass a value to PrivKey or RegKey I get the Error Message:
Access violation at address XXXXXXX in module ISID.dll. Read of Address XXXXXX.
Non-empty values for ExpPath or RegName do not have this effect.
The function is declared:
function ValidateSerialNumber(InnoKeyFile, User, Orgn, ProdCode, HDD, MAC, PrivateKey,
Serial: String): Boolean;
external 'ValidateSerialNumber@files:ISID.dll stdcall';
What am I doing wrong?
Use are most probably using Unicode InnoSetup and that library counts with the ANSI version. I ‘ve found
some manualfor that library from the year 2004, when theInnoSetup wasn't Unicodeyet, so try to use this ANSI import: