Pkgbuild和移动应用程序



我在OS x上使用pkgbuild和productbuild工具创建了一个应用程序安装程序。我创建的包将我的应用程序安装到/application文件夹。现在,如果我使用NSFileManager(使用另一个my app)将这个应用程序移动到另一个位置,我的包会将它重新安装到新位置,但不是它打算安装的/application。

这看起来像一些文件路径缓存,我能以某种方式"冲洗现金",所以我的pkg将安装应用程序到正确的位置吗?

我在小牛队和埃尔卡皮坦队注意到了这一点。我相信优胜美地也是如此。

如果我将这个应用程序移动到另一个位置

OS X不喜欢同一应用程序的多个相同副本。这个问题是由于应用程序注册时,他们看到的发射服务。

当应用程序被复制到/Applications中,或者第一次运行时,应用程序的详细信息将注册到Launch Services中。当用户通过双击bundle运行应用程序时,Launch Services会查看已注册的应用程序并决定实际运行的应用程序。

OS X安装程序与启动服务协同工作,所以当一个包要从一个包中复制时,它首先检查是否已注册并存在相同的应用程序;如果应用程序有,则不会发生复制。这可以在/var/log/Install .log

的安装日志中查看。

拥有同一个应用程序的多个副本会让人感到困惑,我建议你不要这样做。如果你想把一个bundle放到一边重新安装,把它移到废纸篓,这将从启动服务中删除它的注册。

相关内容

  • 没有找到相关文章

最新更新