小编Kir*_*ira的帖子

Inno Setup 6 不能使用带字符串参数的 DLL 函数,但它在 Inno Setup 5 中有效

我们目前使用 Inno Setup 5.5.3 版来构建安装程序。我打算将此版本升级到 6.1.2。

我们使用 Inno Setup 来安装我们的产品。我们随安装程序一起提供许可证代码,用户在安装过程中在字段中输入许可证。此许可证使用自定义 DLL 进行验证,并且 DLL 为有效许可证返回非否定结果。此过程在 5.5.3 和 5.6.1 中运行良好,但在版本 6 中失败(使用 6.0.5 和 6.1.2 测试)。

不幸的是,没有生成指出确切问题的日志。

这个自定义 DLL 是 32 位的,是在 10 多年前使用 C++ 构建的。没有计划重做这部分。有没有办法使用相同的 DLL 并解决问题?谢谢你。

[Files]
Source: mydll.dll; Flags: dontcopy
Run Code Online (Sandbox Code Playgroud)
[Files]
Source: mydll.dll; Flags: dontcopy
Run Code Online (Sandbox Code Playgroud)
// This function calls the external mydll which parses licenseCode and
// returns an integer
function getFlags( secret, licenseCode : String) : Integer;
external 'getFlags@files:mydll.dll cdecl';
Run Code Online (Sandbox Code Playgroud)
function checkLicense(license : String) : Boolean;
var
  secret …
Run Code Online (Sandbox Code Playgroud)

dll inno-setup inno-setup-v6

5
推荐指数
1
解决办法
125
查看次数

标签 统计

dll ×1

inno-setup ×1

inno-setup-v6 ×1