【问题标题】:Is there a way to use .pas files in Inno Setup?有没有办法在 Inno Setup 中使用 .pas 文件?
【发布时间】:2018-10-25 08:38:45
【问题描述】:

我需要通过 Rijndael 算法在 Inno Setup 中对字符串进行加密和解密。我发现人们正在使用 DCPcrypt 库来完成我在 Pascal 中需要的操作,但他们正在使用扩展名为 .pas 的文件。而且我不知道是否有办法使用这些文件,以及 Inno Setup 脚本中这些文件的方法?我之前使用过 .dll 文件和这些文件中的方法在 Inno Setup 脚本中执行一些操作,所以我想知道是否有办法对 .pas 文件执行相同操作?

【问题讨论】:

  • 你在比较苹果和橘子。 EXE 是一个可执行文件(通过编译和链接源代码文件创建)。 *.pas 文件是 Pascal/Delphi 源代码文件。您可能需要使用 *.pas 文件库制作一个 EXE 并运行它。 (虽然 Inno Setup 支持 Pascal 脚本,但我怀疑它会运行这个库。它可能太复杂了。)
  • 也许我解释有误。我使用了一些 .dll 文件和其中的方法在 inno 设置脚本中执行一些操作,所以我的意思是有没有办法对 .pas 文件执行相同或相似的操作。
  • 实际上,DLL 类似于 EXE,因为它包含可执行代码(通过编译和链接源代码文件创建)。因此,如果您想使用 *.pas 文件中的源代码,则需要将其编译为 EXE 或 DLL(除非如上所述,Inno Setup 的 Pascal 脚本引擎实际上可以运行 Pascal 代码本身)。
  • 那么有没有办法从这些 .pas 文件中制作一个 dll 文件?

标签: inno-setup pascal pascalscript


【解决方案1】:

Inno Setup Pascal Script 和 Pascal 语言有很多相似之处。但是 Pascal 脚本是一种更受限制的方式,并且不是真正兼容的。因此,在 Inno Setup 中使用任何不平凡的 Pascal 代码的可能性很小。

您当然可以从该 Pascal 代码构建一个 DLL 并在 Inno Setup 中使用它。 这可能会有所帮助: https://delphi.fandom.com/wiki/Creating_DLLs

作为Rijandel is also implemented in .NET,你也可以考虑在.NET/C#中创建一个DLL:
Calling .NET DLL in Inno Setup


不过,请确保您真的想要 Rijandel 而不是 AES。

这看起来真的很像XY problem。你应该问,“如何在 Inno Setup 中实现 Rijandel(或 AES)加密”。

【讨论】:

  • 非常感谢!你的回答很有帮助!
猜你喜欢
  • 2023-03-02
  • 1970-01-01
  • 2021-02-14
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
  • 1970-01-01
  • 2013-11-04
相关资源
最近更新 更多