【问题标题】:How to add DLL function into Inno Setup iss file?如何将 DLL 函数添加到 Inno Setup iss 文件中?
【发布时间】:2018-01-29 06:14:14
【问题描述】:

我试图阅读示例代码以了解如何在 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, 艾伦

【问题讨论】:

    标签: dll inno-setup pascalscript


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢 Martin 的回答...因为我不知道如何在 Inno Setup 中直接从 Pascal 脚本调用 GetNativeSystemInfo,所以我使用这种方法(调用 dll 来检查拱处理器).. .所以如果你能告诉我如何直接从 Pascal 脚本调用 GetNativeSystemInfo,我感谢你的帮助。 (请给我一些示例代码)
    猜你喜欢
    • 1970-01-01
    • 2019-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多