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

EAl*_*lan 3 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;
}
Run Code Online (Sandbox Code Playgroud)

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

顺便问一下,Inno Setup 中有没有获取 ARM 架构的函数?(ProcessorArchitecture不包括ARM架构)

Mar*_*ryl 5

阅读有关使用 DLL 和 .NET 程序集的 Inno Setup 文档。

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

[Files]
Source: "MyDll.dll"; Flags: dontcopy
Run Code Online (Sandbox Code Playgroud)
[Code]
function IsARM: Boolean;
  external 'IsARM@files:MyDll.dll stdcall';
Run Code Online (Sandbox Code Playgroud)

GetNativeSystemInfo不过直接从 Pascal Script调用会更好。
请参阅如何在 Inno Setup iss 文件中调用 GetNativeSystemInfo?