【发布时间】:2020-05-31 07:35:09
【问题描述】:
我的 Inno Setup 安装程序包含一个小型网络服务器和一个桌面应用程序。这两个都是独立的可执行文件。在安装时,我想启动一个网络服务器,以便它在启动桌面应用程序之前运行。我试图在我的 Inno Setup 脚本的[Run] 部分中实现这一点,如下所示:
[Run]
Filename: "{app}\Server\{#ServerExeName}"; \
Description: "{cm:LaunchProgram,{#StringChange(ServerName, '&', '&&')}}"; \
Flags: waituntilidle runascurrentuser
Filename: "{app}\App\{#AppExeName}"; \
Description: "{cm:LaunchProgram,{#StringChange(AppName, '&', '&&')}}"; \
Flags: nowait postinstall
这在安装程序没有正确完成的意义上不起作用,操作系统挂起等待服务器(ServerExeName)。我猜它正在等待服务器进入不会发生的空闲状态。 (同样的事情也适用于'waituntilterminated'标志,因为服务器将并且不会终止)。在继续(启动其他应用程序)之前确保服务器已启动的首选 Inno Setup 方式是什么?
我正在运行 Inno Setup 5.6.1u,但如果需要,我可以升级。 Web 服务器是使用 PyInstaller 捆绑到 exe 的 CherryPy Web 服务器。该应用程序是定制的基于 wxWidgets 的 GUI。
【问题讨论】:
标签: installation inno-setup cherrypy