问题标签 [packagemaker]

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 投票
0 回答
765 浏览

macos - 将参数或环境传递给 Mac 安装程序脚本

我尝试使用 packagemaker 编写安装程序,它在安装过程中运行 shell 脚本。我想在静默模式安装期间将一些参数传递给 shell 脚本。类似的东西

我能想到的两个选择是,

  1. 设置环境变量并从脚本中读取。但这似乎不起作用。
  2. 将此数据写入某个文件并在安装期间从中读取。但这样做的方式非常丑陋,而且对我的安装程序的用户来说也不方便。

有没有更好的方法来使用命令行参数或环境来做到这一点?

0 投票
1 回答
1234 浏览

macos - Mac OS X 中名为 install_name_tool 的命令生成的“格式错误的对象”是什么意思?

我正在尝试install_name_tool在 Mac OS X 中使用,并且有奇怪的错误消息,例如:

谁能解释“格式错误的对象”是什么意思,以及如何摆脱该消息?

0 投票
2 回答
3932 浏览

macos - Mac 安装程序包 - 如何以 root 或管理员身份运行脚本?(飞行后)

我创建了 Mac 包以安装我的一些东西。我有 postflight 脚本,它应该将一些数据复制到 /Library/Application Support/Apple/Mail/Stationery/Apple/Contents/Resources/Stationery/Contents/Resources/ - 并且出于此处提到的原因:我如何构建linux上的Mac包?(BOM 文件问题)它需要是飞行后脚本。

但是它不起作用(它只是下载一个 zip 文件,将其解压缩并 cp 到提到的位置)。所以我通过将 2> 添加到 cp 来检查错误,这就是发生的事情:

cp:/Library/Application Support/Apple/Mail/Stationery/Apple/Contents/Resources/Stationery/Contents/Resources/:权限被拒绝

我仔细检查了我的 Info.plist 并且看起来保留了正确的设置:

但是脚本仍然没有权限。我试过“whoami”,它返回了当前登录的用户。更奇怪的是,安装程序实际上要求管理员身份验证。你们有什么想法我应该怎么做才能让这个脚本以root/admin/拥有更大权限的人身份运行?

0 投票
1 回答
2211 浏览

objective-c - 如何在 Mac OS X 上自动或以编程方式更改系统偏好设置

我试图弄清楚如何以编程方式更改 Mac OS X 上的系统偏好设置。如果不可能,请创建一些安装后自动化脚本(使用 Apple 脚本或其他方式)并将其作为安装程序的一部分运行。我对更改“语言和文本”设置特别感兴趣,这些设置是“系统偏好设置”中“个人”设置的一部分。

这是我的问题的更多描述:

我正在尝试为我为 Mac OS X 编写的自定义键盘布局创建安装程序。键盘布局基本上允许人们将 ASCII keboard 输入音译为外文字母。Mac OSX* 上不存在外语。我能够使用 Apple 的 PackageMaker 创建一个基本安装程序,将所有必要的文件(.keylayout 文件、图标和自定义字体)转储到目标计算机的各自目录中。但是在选择和使用键盘布局之前,需要在系统偏好设置中配置一些个人设置。我想在安装过程中为用户自动配置这些“一次性”设置。是否可以使用 Cocoa/Objective-C 更改设置。如果不,我希望您能帮助我了解如何使用 Apple Script 来自动化配置。如果可能,请包含一些示例代码或指向示例的指针。谢谢你。

以下是需要在系统偏好设置中配置的设置

  1. 选择系统偏好设置 --> 语言和文本 -- 输入源
  2. 从列表中选择“语言名称”
  3. 单击“键盘快捷键”并启用“选择上一个输入源”和“在输入菜单中选择下一个源”。
  4. 双击快捷键组合“⌘空格”并将它们更改为“⌘ L”用于“选择上一个输入源”和“ctrl⌘L”用于“在输入菜单中选择下一个源”
  5. 退出系统偏好。完毕

注意: *系统语言无需更改。只有输入源(键盘布局)。

0 投票
2 回答
418 浏览

python - 使用 easy_install 在 Cocoa 应用程序中捆绑 python 工具

我的 Cocoa 应用程序需要使用 easy_install 在用户系统上安装 Python 命令行工具。理想情况下,我想将一个 bash 文件与我的应用程序捆绑在一起,然后我可以运行它。但据我所知,这是不可能的,因为软件包安装在 Python 的“site-packages”目录中。

有没有办法创建这些文件的“包”?如果没有,我应该如何运行 easy_install 安装?我想将一个 .pkg 文件与我的应用程序捆绑在一起,然后我可以在必要时打开它,但我不能让这个安装包只运行一个脚本。

如果您对如何解决此问题有任何想法,我会很高兴。

亲切的问候,法比安

0 投票
4 回答
1851 浏览

python - 在 OS X 中创建包安装程序 - 安装 Python、NumPy 和其他依赖项

我想创建一个本地 Mac OS X 包安装程序,包的创建并不是真正的问题,真正的问题是必须安装的依赖项;我需要安装 Python、NumPy 和 Matplotlib(仅在尚未安装所需版本的情况下)。

我听说过关于 Package Maker 应用程序的非常糟糕的事情,我已经阅读了一些内容,甚至已经找到了一个不错的教程,尽管它已经过时了。作为参考,这里是 Apple 的参考指南

我想我将不得不使用这三个项目中的每一个提供的未编译源。

查看用于创建官方 Python 安装程序的 PackageMaker 文件真的会帮助我,如果这样的文件在某处可用,请指出它。

反正:

最好的方法是什么?为此目的使用 PackageMaker 是愚蠢的吗?还有其他文献可以帮助我吗?

额外的:

测试我的安装程序的最简单方法是什么?

0 投票
1 回答
811 浏览

macos - 为我的 Mac 应用程序创建安装程序

我有这个由 2 个文件组成的 Mac 应用程序:

  1. 第一个文件.tst
  2. 第二个文件

我想把它们放在:

  1. ~/图书馆/音频/MyProg/
  2. ~/库/应用程序支持/MyProg/

我还希望安装程序看起来像他们喜欢的 DMG 安装程序(如 Skype 的)。现在,我是 Mac 的新手,但我愿意学习任何需要的东西。

我知道 dmg 安装程序实际上是拖放;这是否意味着如果我的应用程序不包含真正的应用程序(它是一个插件 - 没有快捷方式可以放入 Applications 文件夹),那么我不能这样做?

我正在考虑调用左侧 MyProg 上的图标和右侧 COMP_NAME 上的图标,并将 MyProg 拖到 COMP_NAME 只需将我描述的 2 个文件放在我为它们描述的位置。

有什么方法可以实现这一点,还是我应该使用 PackageMaker 并放弃花哨的 dmg 想法(我真的很喜欢花哨的安装程序)?

谢谢。

0 投票
1 回答
487 浏览

python - 如何从支持多个 OSX 版本的 python 创建 Mac .pkg

我正在尝试为 python 应用程序(特别是 Spyderlib)创建一个 .pkg 安装程序。这不是一个应用程序,而是一个 python 包和一个必须复制到特定位置的命令行可执行文件。

但是,该位置取决于 OSX 的版本。我只针对 10.6 和 10.7,但它们带有不同版本的 python(2.6 和 2.7),因此安装路径不同。

使用 bdist_mpkg 我能够在 10.7 中创建一个 Mac mpkg,它可以正确安装并且可以使用 PackageMaker 进行编辑。现在我想知道如何编辑这个包,以便它检测 OSX 的版本并正确设置安装目标路径。

我知道我可以使用 shell 脚本来执行安装前和安装后的工作,但是我无法找到如何执行此操作的示例以及脚本如何用于设置 mpkg 中文件的安装目标.

或者,可能可以直接从 PackageMaker 执行此操作,但我无法看到任何有关此效果的内容(并且文档似乎很肤浅)。

所以我想知道如何做到这一点。查看其他软件包的一些示例也将非常有帮助。

0 投票
1 回答
909 浏览

macos - 来自 Shell 脚本的 Package Maker 检查错误

我需要为我的 Mac 应用程序创建一个包,我正在使用 PackageMaker

我需要检查 JVM 版本,如果它小于 10.6,那么我将中止安装并要求用户首先安装 JVM,
因为我正在使用以下 shell 脚本

并且在包装制造商中,我已经通过检查,但在所有情况下,它都达到了失败条件,即书面类型不正确,任何人都可以帮助我,用“什么是正确的返回值形式的 shell 脚本”那个包maker 可以了解其脚本通过或失败。

0 投票
1 回答
1194 浏览

macos - Package Maker 运行预安装脚本

我必须使用包制造商制作安装程序,包制造商版本是版本 3.0.4 (179)
在我们的包中,在安装之前,我们需要运行一个脚本,(预安装脚本),它应该检查 JAVA 版本,
如果版本低于 1.6 那么它应该告诉用户更新 JVM 并且安装应该退出而不安装应用程序,

我做了以下操作,在分发中,单击预安装操作并添加了此脚本,
添加了必要的操作,失败时应显示什么消息,

它在我的机器上工作正常,但是当我尝试在安装了 JVM1.6 的其他机器上运行时,包失败,

经过大量调查后,我在Raw-Editing-mode中得到了以下代码

这意味着它在预定义的路径上搜索,并且似乎由于它没有在该路径上获得脚本而失败。

看来,包期望脚本出现在该路径中,或者我在提供路径时犯了任何错误,我在那里检查过,没有绝对/相对路径。

是否有任何解决方法,谷歌搜索说,有预检脚本,但我没有得到任何文档。

提前致谢