gpt4 book ai didi

macos - OSX .pkg 安装程序有时不安装 .app 文件

转载 作者:行者123 更新时间:2023-12-04 01:44:35 25 4
gpt4 key购买 nike

我的 Java 应用程序有一个启动器,它是一个 .app 和一个与其捆绑在一起的帮助应用程序。

我正在尝试使用以下命令制作带有背景图像的 .pkg 安装程序:

pkgbuild --root "./Temp"  --identifier "com.company.id" --install-location "/Applications" --sign "signature" "temp.pkg"
productbuild --package-path "temp.pkg" --distribution "./Distribution.xml" --package-path "./Temp" --resources "./Resources" --sign "installer signature" "$FINAL_PKG"

当我查看 ./Temp 的目录时,两个 .app 文件夹都在那里,当我使用以下命令解构 .pkg 时:
pkgutil --expand "temp.pkg" "temp"
我看到了 .app 文件夹,但有时 .app 文件夹之一在从 pkg 安装时不显示。它们似乎总是在第一次安装时出现,但在多次安装和删除应用程序的机器上(例如在测试和开发机器上),其中一个 .app 文件夹最终不会出现。我想知道这里会发生什么?

最初我们将辅助应用程序放在一个单独的目录中作为主应用程序,在这种情况下,辅助应用程序有时不会被安装,但主应用程序总是会安装。接下来,我们尝试将辅助应用程序放在主应用程序中,然后这第一次起作用了,但是下次我尝试从安装程序安装时,主应用程序不在那里!

最佳答案

我遇到了大致相同的问题。 OS X 安装程序似乎使用有关已安装包和应用程序包的信息来决定在何处以及是否安装新包。结果,有时我的安装程序没有安装任何文件,有时它只是覆盖了我的构建树中的 .app 包。不一定是用于构建安装程序的那个,而是 OS X 找到的任何 .app 包。为了让安装程序正确安装文件,我必须做两件事:

  • 告诉 OS X 忘记已安装的软件包
    sudo pkgutil --forget <package id>不确定您和我是否需要这样做,但无论如何这可能是一个好主意。
  • 删除应用程序的所有现有 .app 包。如果我不这样做,现有的应用程序包将在安装时被覆盖,而不是将应用程序放置在/Applications 中。也许在构建安装程序包时有一种方法可以防止这种情况发生,但我还没有找到。

  • 如果可以,您可能应该尝试使您的应用程序自包含,以便用户只需将其拖放到/Applications 中即可安装它。当然,这仅在您不需要在 .app 包之外安装任何东西时才有效。

    关于macos - OSX .pkg 安装程序有时不安装 .app 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19283889/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com