如何从OSX .pkg强制安装位置

时间:2014-10-22 16:18:15

标签: macos osx-mavericks pkgbuild

我正在尝试为我们的产品创建一个包安装程序。以前我们安装了.dmg,过程就是将它拖到/ Applications文件夹中。现在我们希望它安装到/ Application / Company / Suite / product。

问题是:如果我们在之前安装了产品的系统上使用.pkg安装程序,则会创建文件夹,但会在旧位置安装产品。

如何让pkg安装程序执行以下操作:

  1. 删除旧版本
  2. 将新版本安装到正确的位置
  3. 我对OSX的经验很少 - 所以也许我只是缺少一些东西?同时查看应用程序文件夹 - 它似乎没有安装到子目录中的任何其他内容,以这种方式执行操作是不寻常的吗? 谢谢!

    编辑: 我正在调查这里的答案OSX .pkg installer sometimes does not install .app file,措辞不同 - 但答案可能正是我所需要的。

    EDIT2:OSX .pkg installer sometimes does not install .app file不适用。我们没有安装任何软件包管理器 - 所以没有以前的条目。

    EDIT3:我们使用 dmg ,但现在正转向 pkg

1 个答案:

答案 0 :(得分:0)

所以我找到了答案。

要将其安装到新位置:    应用程序包(product.app/Contents/Info.plist)中的plist具有标识符" CFBundleIdentifier",这些需要与旧应用程序不同。例如,我们是" Company.Product-Name",我已将其更改为" Company.Product.Name"。这将允许新安装转到新位置。

要删除旧安装:    我只是将这一行添加到预安装脚本中:    " sudo rm -Rf' / Application / Product Name.app'"

感谢您的协助。