You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Desktop App Converter转换Inno-Setup程序时卡在隔离环境安装等待

解决Desktop App Converter卡在等待安装完成的问题

我帮你分析下这个问题:你用DAC转换Inno Setup打包的安装包时卡在Waiting for installer process to complete inside Isolated Environment,移除Java安装的[Run]段就正常,单独运行静默安装也没问题,核心原因是Java安装程序在DAC的隔离环境中没有完全静默完成,或者隔离环境的特殊状态导致Java安装流程卡住了。

下面是针对性的解决方案,按优先级尝试:

1. 给Java安装程序添加完全静默参数

你的Java安装命令只加了SPONSORS=0,但Java 8的安装包需要/s参数才能完全静默执行,而且要加上runhidden标志避免窗口弹出。修改Inno Setup的[Run]段:

[Run]
Filename: "{tmp}\{#JavaInstaller}"; Parameters: "/s SPONSORS=0"; \
StatusMsg: "Java Runtime Enviroment not installed on your system. Installing..."; \
Check: not isJavaInstalled; BeforeInstall: ExtractInstaller; Flags: runhidden

/s是Java 8安装包的标准静默参数,runhidden会让安装程序在后台执行,不会在隔离环境中触发交互窗口。

2. 强化Inno Setup的静默安装参数

虽然你已经用了/VERYSILENT,但可以补充更多参数彻底避免弹窗或重启提示,修改DAC的命令:

DesktopAppConverter.exe -Installer "C:\Users\Desktop\Output\setup.exe" -Destination "C:\Users\Desktop\MyProgram\" -PackageName "MyProgramApps" -Publisher "Me" -Version 0.1.4.0 -MakeAppx -Verbose -InstallerArguments "/VERYSILENT /SUPPRESSMSGBOXES /NORESTART" -PackagePublisherDisplayName "MyApps" -PackageDisplayName "MyProgram" -AppDisplayName "MyProgram" -AppId "MyProgram"

/SUPPRESSMSGBOXES会屏蔽所有提示框,/NORESTART禁止安装程序触发系统重启,这两个参数能进一步降低隔离环境中卡住的概率。

3. 优化Java检测逻辑,或直接打包本地JRE

DAC的隔离环境注册表结构和普通系统有差异,你的isJavaInstalled()函数可能误判Java未安装,导致不必要的Java安装流程。更稳妥的方式是把JRE直接打包到程序目录,不需要在安装时动态安装:

  • 把JRE的所有文件复制到你的程序资源目录(比如C:\Users\Desktop\resources\jre)
  • 修改Inno Setup的[Files]段,将JRE同步到安装目录:
[Files]
Source: "C:\Users\Desktop\resources\MyProgram.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\Desktop\resources\jre\*"; DestDir: "{app}\jre"; Flags: recursesubdirs ignoreversion
  • 修改程序的启动方式,让它调用本地JRE(比如写个批处理start_myprogram.bat):
@echo off
"%~dp0jre\bin\java.exe" -jar "%~dp0MyProgram.exe"
  • 最后在Inno Setup的[Icons]和[Run]段,把指向MyProgram.exe的路径改成这个批处理文件。

这种方式完全避免了安装时的Java安装流程,从根源上解决DAC卡住的问题,同时还能保证程序运行时依赖的JRE版本稳定。

4. 查看DAC的详细日志定位问题

你已经加了-Verbose参数,执行转换时可以留意日志里关于jre-8u151-windows-x64.exe的输出,看是否有错误提示(比如权限不足、文件找不到等),这些信息能帮你更精准地定位问题。

内容的提问来源于stack exchange,提问作者Gerry

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:01:00