英文:
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.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论