How to add DLL function into Inno Setup iss file?

2019-01-27 06:30发布

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条回答
姐就是有狂的资本
2楼-- · 2019-01-27 07:07

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.

查看更多
登录 后发表回答