如何将DLL函数添加到Inno Setup iss文件中?

时间:2017-08-21 08:33:11

标签: dll inno-setup pascalscript

我试图阅读有关如何在Inno Setup加载DLL的示例代码,但我很困惑。

我有一个DLL(ChkArchInfo.dll),内容很简单:

extern "C" __declspec(dllexport) bool __stdcall IsARM()
{
    SYSTEM_INFO si; 
    GetNativeSystemInfo(&si); 

    if(PROCESSOR_ARCHITECTURE_ARM == si.wProcessorArchitecture)
       return true;

    return false;
}

我知道我需要使用[Files]部分来加载DLL文件。 但是如何在.iss中声明这个函数让我使用它?

顺便说一下,如果Inno Setup中有任何功能可以获得ARM架构吗? (ProcessorArchitecture不包括ARM架构)

请帮我做.... 谢谢!!!

BR, 艾伦

1 个答案:

答案 0 :(得分:3)

阅读Using DLLs and .NET assemblies上的Inno设置文档。

您主要必须声明external函数原型。如果要将DLL嵌入到安装程序中,请将DLL添加到[Files]部分。

[Files]
Source: "MyDll.dll"; Flags: dontcopy
[Code]
function IsARM: Boolean;
  external 'IsARM@files:MyDll.dll stdcall';

虽然最好直接从Pascal Script调用GetNativeSystemInfo。但这是一个不同的问题。