问题描述
在文档64-bit Installation Limitations中说:
您无法在
[Code]
部分中加载/使用64位DLL,因为Windows不允许32位进程加载64位DLL(反之亦然)。但是,一个32位进程可以启动64位EXE。使用Exec函数或[Run]
部分来执行此操作。
这里LoadDLL被认为LoadDLL
函数已被弃用,而有一个指向Using DLLs and .NET assemblies的链接。但是这里没有任何关于位或LoadDLL
函数的信息。为什么我仍然需要使用LoadDLL
函数,并且在我的[Code]
部分中可以使用64位DLL?
解决方法
Inno Setup是32位的,因此它只能加载32位DLL。系统的位在这里不起作用。 documentation you quote是正确且绝对清晰的:
您无法在[代码]部分中加载/使用64位DLL,因为Windows不允许32位进程加载64位DLL(反之亦然)。
这并不意味着没有针对您特定问题的解决方案,您正在尝试通过加载64位DLL来解决。但是您必须询问该特定问题。