当前位置: 首页 > 知识库问答 >
问题:

在持续交付代理上使用jpack扩展windows安装程序

井逸明
2023-03-14

我在CD代理上运行jpackage任务时遇到问题。我收到以下错误:

<代码>灯光。exe:错误LGHT0217:执行ICE操作“ICE01”时出错。这种ICE故障最常见的原因是错误注册的脚本引擎。看见http://wixtoolset.org/documentation/error217/详细信息以及如何解决此问题。外部UI消息记录器不需要以下字符串格式:“无法访问Windows Installer服务。如果Windows Installer安装不正确,可能会发生这种情况。请与您的支持人员联系以获取帮助。”

我做了一些研究,基本上可以通过以下方式解决这个问题:

  1. 向代理的用户添加管理员权限
  2. 环境变量大小的非常大(对于某些人来说,大小大于32KB的环境变量会导致类似的错误)
  3. 抑制ICE验证

在我的案例中,每个解决方案要么无关紧要,要么有问题。

  1. 我无法使用CD上的管理员用户
  2. env变量远小于32KB(10KB)
  3. 我无法找到使用jpackage抑制ICE验证的方法-我知道可以通过将sval传递给light来完成。exe或wixproj文件中的specyfing属性,但我不知道如何输入灯光。传入jpackage(如果可能)和wixproj文件的exe参数——资源目录似乎没有做任何更改

很明显,它在我当地的环境中工作得非常好。

因此,我的问题很可能归结为是否有可能从jpackage级别抑制ICE验证。

我正在为gradle使用badass-runtime-plugin,并尝试为javafxSpring启动应用程序构建安装程序。这是我的build.gradel相关部分:

runtime {
    modules = ['java.management', 'java.naming', 'java.instrument', 'java.sql', 'jdk.unsupported', 'jdk.security.jgss', 'java.desktop', 'java.logging', 'jdk.jfr', 'java.xml', 'java.scripting', 'jdk.crypto.cryptoki']
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
    launcher {
        noConsole = false
    }
    jpackage {
        mainClass = 'org.springframework.boot.loader.JarLauncher'
        imageOptions += ['--icon', "src/main/resources/graphics/icon.ico"]
        imageOptions += ['--win-console']
        installerOptions += ['--resource-dir', "src/main/resources"]
        installerOptions += ['--vendor', 'XYZ']
        installerOptions += ['--type', 'msi']
        installerOptions += ['--verbose']
        installerOptions += ['--resource-dir', "src/main/resources/wix"]
        installerOptions += ['--win-per-user-install', '--win-dir-chooser', '--win-menu', '--win-shortcut']
    }
}

共有1个答案

端木昱
2023-03-14

根据badass runtime plugin的作者所说,使用jpackage很可能无法做到这一点。

然而,我设法想出了一些卑鄙的手段,以某种方式让我实现了我的目标。我为jpackage添加了tempDir参数,然后在gradle构建失败后,我“手动”运行light。使用-sval开关在tempDir文件上执行。

 类似资料:
  • 交付管道的建立和自动化是持续交付的基础 持续集成 更关注代码质量。持续集成是为了确保随着需求变化而变化的代码,在实现功能的同时,质量不受影响。因此,在每一次构建后会运行单元测试,保证代码级的质量。单元测试会针对每一个特定的输入去判断和观察输出的结果,而单元测试的粒度则用来平衡持续集成的质量和速度。 持续集成的核心价值在于1: 持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重

  • 我在让OCI8在我的服务器安装上工作时遇到了特定的问题。 第一次设置: Win 2008服务器32位 ZendServer for PHP with Apache2.2 PHP版本5.3.14,其中没有php_oci8文件 没有安装甲骨文的东西 我需要能够连接到远程oracle数据库,所以我发现应该使用OCI8扩展。为了使OCI8正常工作,我还应该在服务器上至少需要Oracle Instant C

  • 本文向大家介绍如何在Windows 10上安装Imagick / imagemagick PHP扩展?,包括了如何在Windows 10上安装Imagick / imagemagick PHP扩展?的使用技巧和注意事项,需要的朋友参考一下 要在Windows上安装Imagick或Imagemagick,请遵循以下过程- 检查.dll文件的权限。这将确保Apache用户具有对该文件的读取访问权限。

  • 问题内容: 如何在Windows 7中安装映像魔术。我按照以下说明进行操作 在Windows XP(php 5.2.x)上安装IMagick 下载并安装ImageMagick-6.5.8-7 Q16-windows-dll.exe http://www.imagemagick.org/download/binaries/ ImageMagick-6.5.8-7-Q16-windows-dll.ex

  • 它们还提供了一个警告:如果您能够持续部署到测试系统,有时也会使用术语“持续部署”。 这一切让我很困惑。任何更详细的解释(或附带一个例子)都是赞赏的!

  • 如何在MAMP(不是PRO)上安装扩展? 我已经编辑了我的文件添加: 当我运行时,我得到以下结果: 配置文件(php.ini)路径:/Applications/MAMP/bin/php/php7。2.10/conf.1 加载的配置文件:/Applications/MAMP/bin/php/php7。2.10/conf/php。伊尼 扫描其他. ini文件:(无) 解析的其他. ini文件:(无)