问题标签 [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.

0 投票
1 回答
1708 浏览

xcode - productbuild:将第三方产品存档添加到安装程序?

我需要制作 Mac OS 应用程序安装程序,它还安装其他第三方包。

当尝试通过 productbuild --synthesize 添加它时,它会告诉“ThirdPartyPackage.pkg 是产品存档,而不是组件包”。

那么,我应该如何正确地将第三方产品安装程序插入到我的安装程序中呢?

0 投票
1 回答
452 浏览

installation - OS X Mavericks 不安装平面包

我有小牛队 10.9.4。我使用 pkgbuild 和 productbuild 创建了一个平面包并尝试安装它。一切正常,用户界面显示包安装成功,日志没有显示任何错误。除了,该软件包未安装。我搜索了这些文件,但在系统的任何地方都找不到它们,所以指定位置有问题。禁用 Gatakeeper 没有帮助。在命令行中使用安装程序不会安装软件包,也不会显示任何问题。

此外,“pkgbuild --analyze”会生成一个空属性列表。

我从互联网上下载了 MacPorts 包 (.pkg) 并尝试安装它,同样的事情。

我安装 bundle-stype 包没有问题。

0 投票
1 回答
278 浏览

python - 使用 productbuild 打包 py2app 应用程序

我正在使用 pyobjc 创建我的 mac 应用程序。我使用命令 py2app 生成了 .app 可执行文件python setup.py py2app。我现在正在尝试将此应用程序提交到应用程序商店。为此,我需要将其转换为 .pkg 文件。我正在使用命令执行此操作productbuild --content dist/MaApp.app dist/MyApp.pkg。.pkg 文件已成功创建,双击它,我可以安装我的应用程序。我什至得到安装程序的“安装成功”屏幕。但是,在此过程结束时,我无法找到已安装的应用程序。我没有看到要求用户将应用程序拖到应用程序文件夹的通常屏幕。我是否需要对构建过程进行任何修改才能实现这一目标?

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
585 浏览

xcode - OSX 安装程序包:如何在我的应用程序的安装程序中选择安装语言?

我已经使用 pkgbuild 和 productbuild 为我的应用程序创建了一个安装程序,它工作正常。我有不同语言(英语、日语、法语)的许可证文件。如何允许用户选择阅读他们选择的许可证文件?我想我需要在 Distribution.xml 文件中的“license”标签中指定它。我可以在那里指定多个文件吗?

0 投票
1 回答
384 浏览

macos - 如何为包含插件的应用程序创建 OS X 安装程序?

我的应用程序已正确进行代码签名...

它包含一个插件MyApp.app/Contents/Plugins/jre

如果我创建一个安装程序...

...然后安装它,然后安装的 MyApp 不再正确进行代码签名。

其他注意事项:

  • 安装程序本身是代码签名的,而不是已安装的应用程序。
  • 如果我不包含插件,我会得到一个正确代码签名的安装应用程序。
  • 如果我使用 PackageMaker 或 productbuild,我会得到相同的结果。
  • 我不关心应用商店。我只想要一个正确代码签名的安装应用程序。

我尝试使用pkgbuild为 MyApp.app 和插件构建一个单独的包,然后使用它们组合它们productbuild,但我得到了相同的结果。我不确定这pkgbuild一步是否必要。

我错过了什么?

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 投票
2 回答
3642 浏览

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

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

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

只需使用productbuild:

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

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

0 投票
2 回答
84 浏览

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

在此处输入图像描述

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

在此处输入图像描述

0 投票
1 回答
475 浏览

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

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

0 投票
0 回答
241 浏览

javascript - 如何更改使用 pkgbuild/productbuild 构建的 OS X 安装程序中的安装路径?

我们有一个安装到自定义文件夹的应用程序,现在我们必须为应用程序扩展(插件)创建一个安装程序。
主机应用程序的安装程序是使用跨平台工具创建的,它允许用户选择安装文件夹,甚至允许在同一系统上安装多个版本。
主机应用程序不仅仅是一个“应用程序”,就像许多 Mac 程序一样,而是一个包含多个文件 + 一个“应用程序”的目录。

插件安装程序应该:
1. 基于 pkgbuild/productbuild,因为我们不想使用跨平台安装程序,因为它是基于 Java 的,我们遇到了麻烦
2. 使用 CFBundleIdentifier 查询所有已安装的主机应用程序并选择一个安装
3.将有效负载的内容安装到所选主机应用程序的目录

我设法找到了前两个要求的解决方案,但我不知道如何处理第三个要求。
是否有任何解决方案可以从 Distribution.xml 更改安装路径?
我玩过choice.customLocation 属性,但我没有设法从JavaScript 进行修改。

有什么“优雅”的解决方案吗?
谢谢。