我知道在Windows上有一些可用于创建安装程序的安装程序工具,但在Mac OS上我看到了两种安装应用程序的方法:
您下载,双击然后在里面运行应用程序的DMG文件 - 应用程序通常会将图标拖到另一个图标(代表Applications文件夹)以安装应用程序
另一种启动明显标准安装程序的文件,有时会出现“此安装程序可能运行程序以确定您是否可以继续安装”的警告
在Mac OS上安装应用程序的“标准”打包方式是什么?以上是苹果推荐的方式之一吗?
感谢。
答案 0 :(得分:17)
Apple非常清楚地制定从App Store下载程序的“标准”。这样做的好处是使应用程序安装对普通用户透明。并且,不管你信不信,普通人对安装程序的概念有很多麻烦。当然,这种好处需要一些成本,但这不是辩论的地方 - 还有很多其他的地方。
假设您不想或不能使用App Store路线,PKG和DMG都是分发程序的常用方法。如果您需要安装除应用程序包之外的文件(这不应该是常见用例),请使用PKG。在所有其他情况下,使用DMG提示用户将应用程序复制到Applications文件夹中。但是很多用户不会理解他们需要这样做(除非您的目标受众只是知识渊博的计算机用户)。他们将从磁盘映像运行您的应用程序。理想情况下,在这种情况下,您的程序将检测到它是从磁盘映像运行并提供将其自身复制到Applications文件夹中。
答案 1 :(得分:12)
套餐效果很好。如果您的部署过程必须简单,那就太棒了。
Quick build
包括将您的.app
拖到Package
上并完成。
对于高级包装,您还可以提供证书。
答案 2 :(得分:8)
我们正在讨论两件事:
Apple's site上较旧的营销页面表示建议使用PackageMaker应用程序创建包(因此安装程序应用程序可以将位移动到位)。 其用法如下所述:mactech.com/articles/mactech/Vol.25/25.03/2503MacEnterprise-PackagingforSystemAdministrators/index.html。
但正如其他人所说,房间里的大象是MacAppStore(简称MAS)。在它首次亮相之前,大型公司的标准是将自己的自定义脚本转换为旧式“捆绑”包或使用像VISE安装程序这样的可执行文件。较小的开发人员通常试图通过拖放操作使其应用程序可安装,分布在zip存档或磁盘映像中(为简单起见)。 MAS是不同的:从10.7开始,它使用一种封装格式(在10.5中首次亮相)称为扁平封装(实际上是一个xar存档,解释here) 通过http传输到隐藏文件夹,直接安装到应用程序(之后删除它下载的临时文件夹)。它将收据和账单或材料文件丢弃到/ private / var / db中,因此可以通过内置命令行pkgutil工具进行审计,如下所述:mactech.com/articles/mactech/Vol.25/25.12 /2512MacEnterprise-PackagesReceiptsandSnow/index.html
使用扁平包格式的一个好处是,您可以更安全,更有效地通过网络提取内容,但如果您定期测试和修改包,或者迭代到包,那么使用捆绑包并不容易。确保执行操作或检查的脚本运行良好。即使是扁平状态,建议将pkg放入存档或磁盘映像中以提高灵活性。更多的分发工具需要DMG而不是zip,所以也是如此。
除了Apple推荐的内容以及标准的常见做法之外,还有这篇文章:https://www.afp548.com/2010/06/03/the-commandments-of-packaging-in-os-x/讨论了为什么和包装(尽管主要是系统管理员)进行更广泛的分发。我们强烈建议您更多地了解出现问题的方式和原因,以及应避免的事项。
答案 3 :(得分:6)
试试Iceberg! 另一个包创建者。
答案 4 :(得分:3)
在OS X中,许多应用程序只是作为Relocatable创建的 用户只需要复制到的应用程序包 / Application文件夹(或任何其他位置)。在其他情况下,当你 需要在机器上执行某些操作(例如添加用户) 或者更改权限)您可以使用允许的PKG安装程序(例如使用PackageMaker构建) 执行一些安装前和安装后的脚本并支持一些基本的 安装配置,例如选择安装驱动器。
有时,与复杂的服务器软件一样,您需要更多的灵活性,例如向自定义页面显示 最终用户请求安装您的信息所需的信息 应用程序,如MySQL端口和密码或代理信息 即时下载要求(或简单地让它看起来更漂亮 :))。对于这种情况,还有其他安装程序解决方案,例如我们的BitRock InstallBuilder(免责声明,我是其中一位开发人员)。 InstallBuilder还具有生成多平台的优势 安装程序使用相同的项目,每个定制很少 平台。