How to add DLL function into Inno Setup iss file?

谁说胖子不能爱 提交于 2019-12-08 05:59: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:


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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!