问题标签 [productbuild]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
macos - 使用 productsign 签署 XAR 正在破坏存档文件
我正在尝试使用productsign
来签署XAR
包含 2 个pkg
使用productbuild
. 该xar
工具正在正确创建文件,但我认为签名正在破坏内容,即使获得的文件已签名。下面的一些相关命令输出(我用 替换了敏感信息INFO
):
该productsign
命令是否打算以其他方式工作?我不明白我的方法有什么问题。
operating-system - 如何禁用询问“是否要将安装程序移至废纸篓?”的工作表?安装完成后
我使用 pkgbuild productbuild 来构建安装程序。但是,在 OS X 10.12 Sierra 上安装时,安装完成后,我看到“是否要将安装程序移动到垃圾箱?要将此包和磁盘映像保留在其当前位置。单击保留。”
我想禁用该表。怎么做?
有没有人有更多关于这种新行为的信息?
macos - 无法打开已签名的 PKG 安装程序
我正在尝试为 Mac OS X 分发我的应用程序。我已经为我的应用程序签署了 PKG 安装程序。我把它打成DMG文件上传到服务器,用户可以下载。
但是当我的用户打开 DMG 文件时,双击 PKG,系统说安装程序来自未定义的开发人员。
PKG 已正确签名。
为什么系统认为它来自未定义的开发者?
macos - 如何强制 Mac 包安装程序检查版本?
基于productbuild的Distribution XML结构,pkg-ref
的version
属性是自动填充的productbuild
。您还可以使用--version
参数来指定包版本productbuild
。
我制作了两个包:1.0 版的包 A 和 2.0 版的相同二进制文件的包 B。这些版本以三种方式给出:
- 作为
--version
参数 - 作为被打包的二进制文件的版本
Distribution.xml
文件中的版本值
但是,安装程序似乎不会检查版本,只是安装正在运行的任何包。如果您先安装 2.0 版,然后再运行 1.0 版包,则该应用程序将被覆盖。
如何强制安装程序检查版本?我需要在某处指定一个键/属性/参数以使包版本敏感吗?
macos - 我可以在安装开始之前将 AppleScript 配置为在单击时处理 .pkg 文件吗?
我有一个打包为.pkg
文件的 macOS 应用程序,我想在单击.pkg
文件后立即运行另一个苹果脚本,但在安装主应用程序之前,我想用 AppleScript 对其进行预处理。那可能吗?
macos - 在不使用 xcode 的情况下使用 productbuild 对 Mac 应用程序进行签名和归档以在 Mac App Store 之外分发应用程序
我是 MAC 应用程序开发的新手,并且正在开发使用 Zoom Mac SDK 但该 SDK 不支持使用 Xcode 存档的项目,因此我需要使用缩放支持中心建议的其他工具进行存档。根据他们的回复,应用程序可以使用 pkgbuild/pkgutil/productbuild 存档,但我不知道为我的 Mac 应用程序创建存档/pkg/dmg 文件的确切步骤。
另外请让我知道我需要创建哪个文件扩展名才能从网站为用户下载我的应用程序。
我正在使用“开发人员 ID 应用程序”和“开发人员 ID 安装程序”证书来签署我的构建,但不知道如何在不使用 Xcode 的情况下创建构建,因为使用 Xcode 我收到第三方框架的错误,因为“代码对象未签名全部”。
感谢您的大力帮助。
c++ - 在 MacOS 中打包 Qt/C++ 应用程序后无法写入 ~/Library/Application Support
我在 ~/Library/Application Support (QStandardPaths::AppDataLocation[0]) 中编写我的应用程序日志,如果我从 Qt Creator 启动我的应用程序,一切顺利。使用pkgbuild和productbuild打包应用程序后,使用我的开发人员 ID 应用程序(用于 codesign)和开发人员 ID 安装程序(用于 productbuild)对应用程序进行签名,当我将其安装在我的机器上时,具有管理员权限,不会生成日志文件(目录树它是生成的)。我正在使用 std::ofstream 将 QByteArray 中的消息写入文件。另外,我正在使用qInstallMessageHandler。
知道如何让它工作吗?我需要在productbuild 中向我的Distribution.xml添加一些内容吗?我需要在打包步骤中添加更多权利吗?
这是我正在使用的处理程序
这被称为消息出现在 QtCreator 执行中。
此外,只需添加该应用程序不是沙盒。
编辑:经过大量测试,我认为当应用程序开始双击应用程序图标时,没有调用 MessageHandler tracesOutputHandler 。
macos - 使用 productbuild 创建带有 pdf 许可证的安装程序包
我在 mac 上使用 productbuild 命令行工具来创建 pkg 安装程序。我需要在我的包中提供 EULA,所以我修改了 distribution.xml 以包含许可证:
但是productbuild似乎无法识别pdf,许可步骤以纯文本形式显示pdf文件内容。我试图指定 mime-type 属性,但结果是一样的。经过一番谷歌搜索,我发现大多数人使用 rtf 或 html 许可证文件。
是否在某处记录了受支持的文件格式/UTI/MIME 类型?我能找到的唯一文档是https://developer.apple.com/library/content/documentation/DeveloperTools/Reference/DistributionDefinitionRef/Chapters/Distribution_XML_Ref.html,但它没有说明支持的格式。
更重要的问题 - 我可以以某种方式创建一个带有 pdf 许可证的安装程序包吗?
xcode - 如何为我使用 productbuild 制作的包自定义 macOS 安装程序的名称?
我在我的 Xcode 项目中设置了一个构建目标,用于从许多其他目标创建一个包。我添加了一个简单运行的构建阶段脚本productbuild
,它可以自动检测我安装所需的几乎所有内容:
这个包在功能上很好用,但是当我打开它时,Installer.app 缺少它的名称:
窗口标题应该是“Install {Useful App}”,下面的小标签应该是“Welcome to the {Useful App} Installer”。
如何为我的安装程序包提供 UI 的名称/标题?我可以在仍然使用该--root
选项的同时执行此操作,还是需要先合成然后永远手动维护分发文件?