问题标签 [pkgbuild]

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.

0 投票
1 回答
330 浏览

xcode - XCODE & PKGBUILD 创建一个安装零长度可执行文件的包

按照使 OS X 安装程序包像 Pro - Xcode 开发人员 ID 准备 pkg中的说明,我能够获得我的 Firebreath 插件项目(本质上是一个可执行文件,但后缀为 .plugin 并安装在 /Library/Internet 插件中)构建到 .pkg 文件中。当我在 OSX Mountain Lion 或 Lion 系统上运行 .pkg 文件时,安装程​​序不会报告任何错误,但会在 /Library/Internet Plugins 中安装一个无法使用的零长度 .plugin 文件。以下是我用来构建 .pkg 文件的命令:

我也尝试过用 productbuild 和其他各种迭代来包装 .pkg 组件文件——没有什么不同。它总是安装一个长度为零的可执行文件。我在安装程序日志中也看不到任何消息。

有趣的是,当我使用 XCode UI 归档项目,然后使用归档目录中的 .plugin 构建包时,我得到了一个工作安装。所以Release文件夹中的.plugin文件肯定有什么不同。因此,如果我能找到一种从命令行创建存档的方法,那么我可以使用它而不是 Release 中的那个。但是 xcodebuild 手册页没有告诉我如何做到这一点——我可以使用一个存档命令,但是当我尝试这个时,它告诉我该命令不可用。这是因为我正在构建一个项目,而不是工作区,并且没有定义任何方案吗?

任何帮助将不胜感激 - 无论是在找出安装的 .plugin 大小为零的原因,还是在如何构建存档以便我可以使用它时。

0 投票
1 回答
2334 浏览

macos - 如何从 OSX .pkg 强制安装位置

我正在尝试为我们的产品创建一个包安装程序。以前我们使用 .dmg 安装,过程只是将其拖到 /Applications 文件夹。现在我们希望它安装到 /Application/Company/Suite/product。

问题是:如果我们在以前安装了我们的产品的系统上使用 .pkg 安装程序,它会创建文件夹,但会在旧位置安装产品。

如何使 pkg 安装程序执行以下操作:

  1. 删除旧版本
  2. 将新版本安装到适当的位置

我对 OSX 的经验很少 - 所以也许我只是错过了一些东西?还要查看应用程序文件夹-似乎没有将其他任何东西安装到子目录中,以这种方式做事是否不寻常?谢谢!

编辑:我正在查看位于此处的答案OSX .pkg 安装程序有时不安装 .app 文件,不同措辞的问题 - 但答案可能正是我所需要的。

EDIT2:OSX .pkg 安装程序有时不安装 .app 文件不适用。我们没有使用任何包管理器安装 - 所以没有以前的条目。

EDIT3:我们正在使用dmg,但现在正在转向pkg

0 投票
1 回答
371 浏览

osx-yosemite - 如何在优胜美地创建 pkg 安装程序

如何在优胜美地创建 pkg 安装程序。我需要一个 java 应用程序的安装程序,它应该在安装过程中进行一些文件更新。Xcode 4 有一个,但我不确定这是否适合用于优胜美地。

0 投票
1 回答
1663 浏览

python - 安装后脚本 Mac OSX 安装失败

我正在尝试使用 pkgbuild 创建软件包,并使用 productbuild 创建产品存档。如果没有脚本,安装程序会成功安装包。但是使用脚本,它会失败。我用谷歌搜索了它,但找不到解决我问题的有效解决方案。

pkgbuild --root GameDir --install-location /Applications --component-plist 'info.plist' --scripts ScriptsOSX Game.pkg

.app 名称在 info.plist 中作为 RootRelativeBundlePath 字典值提供

productbuild --distribution ./Distribution.xml --resources ../Resources --packagepath GamePkgDir GameInstaller.pkg

GameDir/ScriptsOSX 文件夹中的脚本:postinsall.sh

Permission : -rwxr-xr-x@ 1 staff 57 Dec 12 19:26 postinstall.sh // 所有人的执行权限,用于测试目的。

fwiw :当安装继续时,它会要求输入管理员密码以继续。因此,我相信除了执行权限之外,它还具有运行脚本的权限。

我首先尝试使用 python 脚本。虽然安装成功,但脚本没有执行。我不确定为什么。所有示例都有 shell 或 perl 脚本作为安装脚本,因此尝试使用 shell 脚本。但是安装失败。我确信这是由于尝试执行脚本。但不确定为什么。有任何想法吗?

提前致谢

素佳塔

编辑:具有安装后脚本的 info.plist 如下所示它是一个字典数组,其中一个键:值对是:BundlePostInstallScriptPath = postinstall.sh

0 投票
1 回答
1830 浏览

macos - 使用 pkgbuild 打包不同的文件类型

因此,我正在为我们公司打包一个打印机工具,其中包含两个 .pkg 文件(驱动程序)和一个 .app 文件。

现在我正在使用以下命令来构建包:

因此,在安装软件包时,所有内容都放在 /tmp/ 目录中。然后安装后脚本完成安装,如下所示:

这种作品。第一次安装尝试顺利,但是当我尝试重新安装相同的软件包时出现问题。.app 文件不会复制到 /tmp 文件夹,因此不会移动到 Utilities 文件夹。

所以我想知道两件事:

  1. 有没有解释为什么 .app 文件只复制一次?
  2. 这是打包多种文件类型的最佳方式吗?我觉得没有必要将它放在 /tmp 文件夹中。默认情况下,软件包文件被放置在某种安装程序 /tmp 文件夹中,对吗?这不能是 postinstall 脚本运行的工作目录吗?
0 投票
1 回答
674 浏览

node.js - 创建使用另一个产品 .pkg 的 .pkg 安装程序

我正在.pkg为需要 NodeJS 的产品构建 OS X 安装程序。

我正在尝试将官方 NodeJS pkg 安装程序作为我的安装程序的组件包嵌入的可能性。

我下载了官方的 pkgpackages/node.pkg并将我的修改distribution.xml为如下所示:

但是,当使用productbuild

我收到以下警告:

packages/node.pkg我放弃了由于某种原因不存在的可能性(也许我将 pkg 下载到了另一个位置):

我错过了什么?

是不是因为我想把一个产品包作为自己产品包的组件包来使用?

另一种可能性是installer在我的包脚本中运行以安装它,但是我想知道是否有更好的方法来表达pkg's 之间的依赖关系。

0 投票
2 回答
3642 浏览

macos - 从应用程序包打包 Mac 安装程序会在 /Applications 中安装文件夹“Contents”,而不是包本身

当我尝试使用我的 .app 打包来创建 Mac 安装程序并运行安装程序时,它会在我的 /Applications 文件夹中创建一个名为“Contents”的文件夹,而不是应该的“捆绑应用程序”。

我已经用 pkgbuild + productbuild 进行了测试:

只需使用productbuild:

在这两种情况下,我都运行安装程序,一切似乎都很好,但在 Applications 文件夹中我看到“Contents”(这是应用程序包的内容)

我也尝试在 --component 属性中使用“./myapp.app/”,甚至在 --install-location 中添加“/Applications/myapp.app”

0 投票
1 回答
46 浏览

macos - 我们在哪里可以更改 MAC pkg 安装过程的描述

我正在使用pkgbuild command我的应用程序(在 Xcode 中开发)构建 mac 包。当我安装软件包时,我看到要遵循的几个步骤。

这是 mac pkg 安装程序提供的默认设置,还是我们可以自定义它。任何帮助都是可观的。thnx

0 投票
2 回答
84 浏览

macos - 单击取消身份验证页面时安装失败

在此处输入图像描述

我用 pkgbuild 和 productbuild 制作了我的 pkg 文件。在提供身份验证详细信息之前,它将进入安装步骤并显示消息“准备安装”。在不提供凭据的情况下,如果我单击取消,我的安装将被取消。

在此处输入图像描述

0 投票
1 回答
475 浏览

macos - 如何更改 mac pkg 安装程序页面中的按钮文本和位置

我已经使用 pkgbuild 和 productbuild 在 mac 中构建了我的 pkg。我们如何更改安装程序页面中 UI 按钮的文本和位置在此处输入图像描述