Inno setup InnoSetup:在安装32位应用程序时,如何运行64位安装程序,使文件找不到

Inno setup InnoSetup:在安装32位应用程序时,如何运行64位安装程序,使文件找不到,inno-setup,32bit-64bit,Inno Setup,32bit 64bit,我正在使用InnoSetup安装一个32位桌面应用程序,并在运行部分启动64位Firebird安装程序。我在Win10中工作 但是无论我尝试做什么,我都会收到一条错误消息,说它无法运行,并且找不到文件,错误2 FB3.0安装程序文件在资源管理器中可见,可以通过资源管理器正常启动。32位Firebird安装程序在安装我的应用程序时可以正常启动 我一直在使用{tmp}目录,并尝试了其他目录,包括C:\Temp。什么都没用 我有PrivilegesRequired=admin并尝试了Architect

我正在使用InnoSetup安装一个32位桌面应用程序,并在运行部分启动64位Firebird安装程序。我在Win10中工作

但是无论我尝试做什么,我都会收到一条错误消息,说它无法运行,并且找不到文件,错误2

FB3.0安装程序文件在资源管理器中可见,可以通过资源管理器正常启动。32位Firebird安装程序在安装我的应用程序时可以正常启动

我一直在使用{tmp}目录,并尝试了其他目录,包括C:\Temp。什么都没用

我有PrivilegesRequired=admin并尝试了ArchitecturesInInstallin64BitMode=x64 ia64。那是行不通的。我尝试确保在启动安装程序时手动选择“以管理员身份运行”

标志包括运行部分Firebird安装程序的“标志:runascurrentuser WaitUnterminated postinstall 64位”

我尝试在启动我的应用程序之前的安装中使用Exec(),但这会给出相同的错误消息

在InnoSetup帮助的“64位安装限制”下,它说:

您不能在[Code]部分加载/使用64位DLL,因为Windows不允许32位进程加载64位DLL(反之亦然)。但是,32位进程可以启动64位EXE。请使用Exec函数或[Run]部分来执行此操作

因此,我仍然认为我错过了一些东西

在一个安装程序的测试运行期间,该安装程序刚刚尝试启动FB3.0安装程序,64位,最初运行时也不会出现相同的错误,但一旦我显式添加PrivilegesRequired=admin,它就起作用了。或者,在InnoScript中,工具:选项:常规;选中“以管理员身份运行”(未设置PrivilegesRequired=admin,顺便说一句,不确定它在脚本中的反映位置。)

不管怎样,当我把我的应用程序的安装(32位)包括进去后,上面的错误就回来了

关于如何在32位应用程序安装中运行Inno中的64位安装程序,有什么想法吗


谢谢大家!

我能够创建一个加载/运行简单应用程序的安装程序,并在没有任何错误的情况下启动Firebird 3.0 x64安装程序

从这一点上,我最终发现Firebird 3,0的命令行参数导致了这个问题,尽管参数是从手册中直接获取的

导致错误的参数是:/COMPONENTS=“ServerComponent\SuperServerComponent,ServerComponent,DevAdminComponent,ClientComponent”,下面是/TASKS=“逗号分隔的任务名称列表”,在我的例子中包括/TASKS=”“UseSuperServerTask\UseGuardianTask等

我必须从参数列表中删除“ServerComponent\SuperServerComponent”。我不确定SuperServer是否以这种方式正确设置,但Firebird 3.0 x64安装程序现在确实在我的应用程序安装程序中正确运行

在任何情况下,我都使用一个单独的firebird.conf文件,该文件在安装firebird后复制到firebird目录中,这将设置超级服务器。谢谢你的回复,马丁

我想这篇文章的附加标志应该包括“Firebird”,但不知道如何在发布后添加标志