如何在dmg中复制放在.pkg文件旁边的配置。无法从PackageMaker“预检”脚本访问它

时间:2012-08-23 04:31:17

标签: macos osx-mountain-lion packagemaker dmg preflight

我的问题

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

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

有什么方法吗?

我想要这样做的背景信息......

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

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

Mountain Lion现在需要签名pkg安装程序,这会阻止我们在不重新签名的情况下插入自定义文件。

所以,我的选择是:

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

1 个答案:

答案 0 :(得分:0)

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

即使从已安装的dmg运行安装程序,它也应该可以工作。 您可以在Scripting in Packagemaker获取更多信息。