问题标签 [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 - OSX .pkg 安装程序有时不安装 .app 文件
我的 Java 应用程序有一个启动器,它是一个 .app 和一个与之捆绑的帮助应用程序。
我正在尝试使用以下命令制作带有背景图像的 .pkg 安装程序:
当我查看 ./Temp 目录时,两个 .app 文件夹都在那里,当我解构 .pkg 时:
pkgutil --expand "temp.pkg" "temp"
我看到了 .app 文件夹,但有时其中一个 .app 文件夹在从 pkg 安装时不会显示。它们似乎总是在第一次安装时出现,但在多次安装和删除应用程序的机器上(如在测试和开发机器上),其中一个 .app 文件夹最终不会出现。我想知道这里会发生什么?
最初,我们将辅助应用程序作为主应用程序放在一个单独的目录中,在这种情况下,辅助应用程序有时不会被安装,但主应用程序总是会安装。接下来,我们尝试将帮助应用程序放在主应用程序中,然后第一次工作,但下次我尝试从安装程序安装时,主应用程序不存在!
macos - OSX .pkg 删除其他开发版本
我们已经为我们的 Java 应用程序创建了 .pkg 安装程序,每次运行最新的 .pkg 安装程序时,它都会删除该应用程序的先前开发版本。我注意到这个最新的安装程序在删除其中一个旧的开发版本时会打印“删除旧文件...”。对于经常希望保留多个开发版本进行比较的测试人员来说,这非常烦人。
有没有办法强制安装程序不删除旧文件?
为了创建我的最终安装程序,我首先创建了几个子 .pkg,并调用 pkgbuild:
然后我使用 productbuild 创建最终的 .pkg:
这是我的distribution.xml:
macos - 在 Mac 上安装包时运行 postflight 脚本
我正在尝试从脚本构建一个 mac 包安装程序,并且我想运行 postinstall 和 postflight 脚本。我构建包的脚本如下所示:
我已将安装后脚本放在 Scripts 中,并且它正在成功执行。不过,我在运行 postflight 脚本时遇到问题。它被放置在 Resources 目录中并且不会被执行。这还不足以指定它的路径吗?我找不到这个问题的答案,如果我错过了,我很抱歉。
PS:我的 postflight 脚本没有什么特别的 - 现在它尝试在主目录中创建一个文件:
macos - 如何区分 pkgbuild 和 productbuild 中的 OS X 版本
在安装 PKG 期间是否可以区分当前的 OS X 版本。比如:如果操作系统 >= 10.9.0 安装 pkg_for_mavericks.pgk 否则如果 < 10.9.0 安装 pgk_not_for_mavericks.pgk
过去,使用传统的 PackageMaker,可以将要求映射到所需的大小、目标 OS X 版本等包。
我没有找到任何使用命令行实用程序 pkgmaker 和 productbuild 样式创建新 PKG 文件的示例
有什么建议么 ?
macos - 以非管理员权限从 Mac .pkg 启动新安装的应用程序
我正在使用 pkgbuild 和 productbuild 构建一个 Mac 安装程序包 (.pkg)。我能够安装我的应用程序包,但我想在安装结束时启动它。我添加了
到安装后脚本。这会启动我的应用程序,但它具有不同的权限,或者与用户在完成安装后手动启动的应用程序不同。安装程序需要管理员权限,因为它将应用程序包复制到 /Applications,但这似乎会在安装后脚本启动时干扰应用程序的功能。一个例子是我的应用程序中的一个 applescript 命令应该复制具有管理员权限的文件失败。
有没有办法以用户的正常权限启动应用程序?
macos - 将 productbuild for mac os x app 与其他工具和文件一起使用
对于我的一个项目,我使用 packagemaker 构建脚本。Packagemaker 允许指定我需要从 root 安装的所有文件,因此我的 root 具有以下结构:
即它具有以下特点:
- 为所有用户预安装的一些配置文件,全局首选项(some.xml,another.xml)
- 一些命令行工具被主应用程序用作 /usr/local/bin 中的用户
- 程序使用证书,并且有一个默认证书将在飞行后移动到正确的位置
如何对 productbuild 做同样的事情?可能的?
macos - Mac OSX 安装程序 pkg 忽略 Applications 文件夹中请求的应用程序显示名称,改用 bundle .app name stem
我的应用程序在 Mac OSX 上显示的应用程序名称有问题,安装后,不是我想要的。这适用于在应用商店之外作为 pkg 文件分发的应用。除了显示在 Mac 的“应用程序”文件夹中的应用程序名称外,一切正常。无论我做什么,显示的始终是包名称(不带 .app)。我原以为它会使用我在Info.plist
文件中给出的名称。
这就是我正在做的事情。
我为我的应用程序创建了一个包,其中包含一个定义包显示名称的 Info.plist,如下所示:
它实际上是一个基于 Qt 的应用程序,我使用 qmake/make/macdeployqt 构建而不使用 Xcode。但这应该与我的问题无关,我认为。在我的Info.plist
文件中,我有:
我为该应用程序构建了一个安装程序包,如下所示:
如您所见,我的构建过程创建了一个myapp.app
捆绑文件夹,并从中创建了一个.pkg
usingpkgbuild
和productbuild
. 但是嵌入在最终产品包中的组件包中的是它的Info.plist
文件,该文件说明(我想要)显示的名称是什么 - "My Application"
。
我可以从 Finder 中运行 .pkg 文件,而且一切似乎都安装好了。
但是当我打开我的应用程序文件夹(使用任务栏中的“A”图标)时,它在那里但没有被调用'My Application'
,而是被调用'myapp'
,这是应用程序包的名称。它运行良好,只是显示的名称总是错误的。
所以...问题是我想控制用户看到的名称,但由于它包含空格,我不能将其用作 bundle.app 中的名称。
那么......如何让应用程序名称在 /Applications 文件夹和任务栏图标上显示为我想要的?
谢谢
macos - 您如何在使用 pkgbuild/productbuild 构建的 OS X 安装程序中向用户提问?
我正在使用 pkgbuild 和 productbuild 构建安装程序,并且我希望该过程的一部分涉及向用户询问一些简单的问题。这些问题可以通过复选框(是/否)或一个小的单行文本输入字段来回答。
一旦提出这些问题,我想将它们提供给安装后脚本。
对于更多上下文,我的产品是一组命令行工具,它们将位于 /usr/local/X 中,其中 X 是我的产品的名称。然后,运行一个简单的安装后脚本来最初设置一些东西。pkgbuild 已经很好地处理了这个问题。我真正想要的是为安装后脚本提供我的问题的答案,也许在环境变量中,因此它可以相应地进行设置。
macos - Mac productbuild 给出 JavaScriptError
我正在尝试使用 Macproductbuild
应用程序为我的应用程序制作安装程序。
运行productbuild
它不会引发任何错误,但是当我尝试打开包时它说:
当我试图查看安装程序日志时,它说:
我如何调试/解决这个问题?我错过了一些文件吗?
python - 应用程序加载程序:使用 productbuild 创建 .pkg 文件时出错
我正在测试命令“productbuild”来归档我的应用程序包 CEMHapp。这个想法是将构建的 .pkg 文件提交到 Mac App Store。目前,我遇到以下问题:
当我尝试运行基本命令时:
我收到以下错误消息:
我也试过命令“pkgbuild”,即
但是出现以下错误
奇怪的是,CEMHapp.app 文件运行起来就像一个魅力,所以我不明白为什么系统会给我上述错误。任何人都可以阐明这个话题并给我一些指导吗?
CEMHapp 是使用 QtCreator 和 Python 开发的开源免费应用程序。捆绑包 (CEMHapp.app) 是使用 pyinstaller 创建的,可以在http://concrete.fsv.cvut.cz/~wilson/Software/CEMHapp_v.1.0_MacOSX_10.9.2.dmg下载
最好的问候和提前感谢,W。