如何安装多个包和后期处理?

时间:2010-10-29 16:36:19

标签: macos installer packagemaker

我发现自己处于一个独特的场景 - 它必须是,因为我没有搜索似乎找到任何答案。但也许有一位MacOS X专家可以为我解答这个问题?

我正在使用PackageMaker为我公司的应用程序创建安装过程。它是一个跨平台的应用程序,我的基地是Linux和Windows,所以请原谅我的MacOS X un-intellect。

我们有两个软件包 - 呃,应用程序。一个是Other.app,它是由一家外部公司开发的,我们正在“捆绑”我们的软件。我们的应用程序是Stats.app。我们的应用程序将作为启动代理程序运行,因此相应地我有一个.plist文件,当我在终端中手动安装时,该文件可以正常工作。

我的安装过程目标如下:

  1. 将Other.app安装到/ Applications
  2. 将Stats.app安装到/ Users /< user> / Applications(请参阅注释)
  3. 将Stats.plist安装到/ Users /< user> / Library / LaunchAgents
  4. 后处理Stats.plist修改“ProgramArguments”键以使路径正确:

    <阵列>
          &LT;串GT;%{HOME} /Applications/Stats.app/Contents/MacOS/Stats</string>
       &LT; /阵列&GT;

  5. 后执行一些简单的命令:

    /Application/Other.app/Contents/MacOS/Other --configure = config.txt

  6. 检查退出代码,如果一切正常,请告诉用户我们已完成。

  7. 我希望 - 不......祈祷! - 某人如何获得有关如何做到这一点的信息。

    为了澄清,不要求Stats.app在用户主目录中。由于Stats.app需要运行Carbon才能运行,因此要求启动代理位于主目录中。

2 个答案:

答案 0 :(得分:0)

使用每个程序包的安装后/升级后脚本进行重写。不同版本的PackageMaker看起来有所不同,您定位的系统也会影响用户界面,所以请大家四处寻找。

我确信Apple为开发人员创建了针对他们平台的头发衬衫,因为Interface Builder,Cocoa和Xcode的生活太简单了。祝你好运!

另外:不要相信它正确处理权限;让你的安装后/升级后脚本(通常是两个相同的脚本集)通过chmod和chmod你的文件。不需要sudo,你已经以root身份运行了。

另外:PackageMaker无法处理将包含符号链接的目录结构安装到创建循环的目录。这包括Apple分发的一些框架,例如DotMacKit。

答案 1 :(得分:0)

您可以尝试将应用程序安装到所需目录的bash脚本,并在脚本中使用sed来修改Stats.plist文件。