首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Linux上运行的install4j 6可以正确地协同设计OS应用程序包吗?

在Linux上运行的install4j 6可以正确地协同设计OS应用程序包吗?
EN

Stack Overflow用户
提问于 2014-11-12 01:37:47
回答 1查看 218关注 0票数 1

我已经在Linux上安装了install4j 6。它创建和签名我的OS应用程序包,并创建DMG。但每当我打开DMG并在里面运行创建的应用程序时,Gatekeeper说它来自一个身份不明的开发者。

代码语言:javascript
运行
复制
> codesign -vv /Volumes/pokercopilot/Poker\ Copilot.app
/Volumes/pokercopilot/Poker Copilot.app: unsupported resource found (something not a directory, file or symlink)

当我在OS上运行相同的install4j版本时,应用程序包被正确签名。

代码语言:javascript
运行
复制
 > codesign -vv Poker\ Copilot.app/
 Poker Copilot.app/: valid on disk
 Poker Copilot.app/: satisfies its Designated Requirement

我正在尝试消除因素,并希望检查我正在尝试的内容是否在install4j的能力范围内。

更新: install4j创建了一个文件名无效的文件:

代码语言:javascript
运行
复制
cp -rf /Volumes/pokercopilot/Poker\ Copilot.app .
cp: /Volumes/pokercopilot/Poker Copilot.app/Contents/Resources/app/.install4j/icons/.install4j/${compiler:pcp.productShortName}Updater.icns: No such file or directory

似乎变量引用还没有被指定的值替换。当我在OS X上使用install4j时,文件夹./Contents/Resources/app/.install4j/icons/.install4j/是空的。

EN

回答 1

Stack Overflow用户

发布于 2014-11-12 05:21:12

对DMG进行签名的代码是纯Java代码,没有任何外部依赖项,因此执行install4j的操作系统对此并不重要。

当我在OS X上运行相同的install4j版本时,应用程序包被正确签名。

由于您未下载DMG,因此网守不会对其进行检查。可能签名在这里也是无效的。要检查签名是否有效,请执行

代码语言:javascript
运行
复制
codesign -vv application.app

无效签名的一个可能原因是您没有使用“开发人员ID应用程序”证书进行签名。

更新:

这实际上是install4j中的一个错误,因为ICNS图标现在是从跨平台图像自动编译而来的。只有在安装程序的"Executable name“属性中使用编译器变量时,才会发生这种情况。此错误将在6.0.1中修复。

解决方法:在安装程序(本例中为更新程序)的“可执行图标”属性中,在"Mac“部分中选择”使用ICNS文件“,然后选择文件[instal4j installation directory]/resource/macos/app.icns

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26870979

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档