1

我的问题

我想让我的安装程序复制一个配置文件与 PKG 放在同一目录中。.pkg + 配置文件将作为 DMG 分发。

作为安装过程的一部分,我需要安装程序将此配置文件复制到特定文件夹。${PACKAGE_PATH} 是由安装程序设置的环境变量,可用于获取配置文件的路径...但是,当从已安装的 dmg 运行 .pkg 时,这不起作用(需要用户提取文件到文件系统)。

有没有办法解决?

我为什么要这样做的背景信息......

我们的应用程序有一个配置文件,组织可以根据自己的喜好进行自定义,然后他们会将这个配置文件分发到与 .pkg 相同的目录中。

我们之前通过制作一个简单的部署工具解决了这个问题,客户将他们的 .pkg 和配置文件拖放到该工具上,它会为嵌入它的自定义 pkg 生成。

Mountain Lion 现在需要对 pkg 安装程序进行签名,这会阻止我们插入自定义文件而不对其进行签名。

所以,我的选择是:

  1. 创建一个 web 应用程序,客户可以将他们的文件上传到该应用程序并获得一个定制的签名 pkg,这有点痛苦。
  2. 扩展我的部署工具以对包进行签名。这并不理想,因为它基本上要求我们分发我们的私钥,这是一个很大的禁忌。
  3. 希望有一个更简单的解决方案......就像我正在询问的 DMG 方法。
4

1 回答 1

0

$1$PACKAGE_PATH,两者都给出了安装程序正在处理的安装包的完整路径。例如:/Volumes/Users/Vikrams/Desktop/TestPkg.pkg

即使从挂载的 dmg 运行安装程序,它也应该可以工作。您可以在 Packagemaker 中的脚本中获得更多信息。

于 2012-08-27T16:24:48.680 回答