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架构)
阅读有关使用 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?