“jpackage (java15) 无法创建 Windows x86 安装程序”

huangapple go评论65阅读模式
英文:

jpackage (java15) can't create a Windows x86 Installer

问题

I tried a lot of different approaches but always failed.

我尝试了许多不同的方法,但都失败了。

I successfully generated an x64 installer for my java jar (spring boot runnable), but I'm unable to create the x86 version of the installer.

我成功生成了一个适用于我的Java JAR(Spring Boot可运行)的x64安装程序,但无法创建x86版本的安装程序。

After moving to a x86 virtual machine, I downloaded the Zulu JDK 15, which is able to run my software manually, so I tried to run the jpackage tool, but it creates an installer for an x64 system.

在切换到x86虚拟机后,我下载了Zulu JDK 15,它可以手动运行我的软件,所以我尝试运行jpackage工具,但它创建了一个x64系统的安装程序。

As I could not find any additional parameter, I tried to verbose log the jpackage tool and found that 'candle' is called with the wrong arch (I replaced paths and variables to shorten path!

由于我找不到任何额外的参数,我尝试详细记录jpackage工具的日志,并发现'candle'使用错误的架构调用(我替换了路径和变量以缩短路径!)。

If I manually launch the command with -arch x86 it fails telling that Intelx64 files are missing (there is a preparation of wxs file before candle I suppose).

如果我手动使用“-arch x86”启动命令,它会失败,并告诉我缺少Intelx64文件(我想在运行candle之前对wxs文件进行了准备)。

Does anyone fixed this issue?

有人修复了这个问题吗?

英文:

I tried a lot of different approaches but always failed.

I successfully generated an x64 installer for my java jar (spring boot runnable), but I'm unable to create the x86 version of the installer.

After moving to a x86 virtual machine, I downloaded the zulu jdk 15 whom is able to run my software (manually), so I tried to run the jpackage tool, but it creates an installer for an x64 system.

As I could not find any additional parameter, i tried to verbose log the jpackage tool and found that 'candle' is called with the wrong arch (I replaced paths and variables to shorten path!

 [candle.exe, -nologo, TMPDIR\config\main.wxs,
 -ext, WixUtilExtension, -arch, x64, 
 -out, TMPDIR\wixobj\main.wixobj,
 -dJpAppDescription=DESCRIPTION, -dJpProductCode=UUID, -dJpAppName=APPNAME, 
 -dJpIsSystemWide=yes, -dJpAllowDowngrades=yes, -dJpIcon=TMPDIR\images\win-msi.image\APPNAME\APPNAME.exe, 
 -dJpAppVersion=1.0.0, -dJpInstallDirChooser=yes, -dJpAllowUpgrades=yes, -dJpProductUpgradeCode=UUID2,
 -dJpAppVendor=VENDOR, -dJpConfigDir=TMPDIR\config]

if I manually launch the command with -arch x86 it fails telling that Intelx64 files are missing (there is a preparation of wxs file before candle i suppose).

Does anyone fixed this issue?

答案1

得分: 0

我最终使用了不同的软件来准备安装程序,按照SweetHome3D(https://sweethome3d.com/)的创建者的指南:

http://www.eteks.com/tips/tipCreationExe.html

使用candle和wxs无法解决问题,只能提供32位的替代方案。

英文:

I ended up using a different software for preparing the installer following the guide of the SweetHome3D ( https://sweethome3d.com/ ) creator:

http://www.eteks.com/tips/tipCreationExe.html

It did not work using candle and wxs so there is no real solution, just the alternative for 32bit.

huangapple
  • 本文由 发表于 2023年5月22日 18:18:14
  • 转载请务必保留本文链接:https://go.coder-hub.com/76305166.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定