2010-02-06 83 views
0

我有一个要分发的应用程序。 几乎所有东西都是自包含在一个包中,所以我可以将这个包放入第一个版本的DMG中 - 但是这对升级不起作用,所以我想我最好先提前完成这个过程。PackageMaker会为我工作吗?

我一直在看PackageMaker,它看起来很简单。然而,我有一些非常具体的要求,可能会导致问题,并且从PM文档中看不出这是否甚至是可能的:

首先,我希望安装程序自动选择安装取决于以前版本的应用程序是否先前已安装,该应用程序的两个不同版本。其次,我不想只覆盖以前的应用程序捆绑包,我只想让安装程序覆盖其中的文件并添加新的文件 - 换句话说,我希望应用程序捆绑包中的某些文件保留以前的版本。

这是我可以用PackageMaker实现的东西,还是我应该寻找不同的方法?

回答

0

您可以使用安装程序包进行很多操作,例如运行一个shell脚本,该脚本可以让您执行所有操作。


我觉得你这样做并不是Mac的方式。在应用程序包中存储数据的情况并不常见,通常情况下,这些数据会被传送到~/Library/Application Support/。我认为这两个不同的应用程序非常相似,为什么不只是设置偏好?

个人而言,我觉得今天的.zip是分发你的应用程序的最佳方式。它会自动解压缩,并在下载堆栈中显示和您的应用程序图标。 (当然,只有当你从互联网上得到它。)

+0

不幸的是,创建的数据的位置是不可控的...否则我当然会让自己的生活变得简单 – 2010-02-06 15:11:12

0

欲了解更多请看sparkle framework。最新安装只是从互联网和te用户复制应用程序包,然后只是要求做更新,不必离开你的应用程序去做任何事情

+1

闪闪发光是伟大的建议,但我的应用程序不是可可基于atm – 2010-02-08 10:06:33