问题
I tried to read sample code for how to load DLL at Inno Setup, but I'm confused.
I have one DLL (ChkArchInfo.dll
) and the contents is simple:
extern "C" __declspec(dllexport) bool __stdcall IsARM()
{
SYSTEM_INFO si;
GetNativeSystemInfo(&si);
if(PROCESSOR_ARCHITECTURE_ARM == si.wProcessorArchitecture)
return true;
return false;
}
I know I need to use [Files]
section to load the DLL file.
But how to declare this function at .iss to let me use it?
BTW, If there any functions in Inno Setup to get ARM architectute? (ProcessorArchitecture
doesn't include ARM architectute)
Please help me to do.... Thank you!!!
BR, Alan
回答1:
Read the Inno Setup documentation on Using DLLs and .NET assemblies.
You primarily have to declare an external
function prototype. And add the DLL to the [Files]
section, if you want to embed the DLL into the installer.
[Files]
Source: "MyDll.dll"; Flags: dontcopy
[Code]
function IsARM: Boolean;
external 'IsARM@files:MyDll.dll stdcall';
Though it would be better to call the GetNativeSystemInfo
from Pascal Script directly. But that's a different question.
来源:https://stackoverflow.com/questions/51640826/inno-script-cant-read-dll-function