Macos 如何打包Mac OS应用程序进行安装?

Macos 如何打包Mac OS应用程序进行安装?,macos,installation,Macos,Installation,我知道在windows上有很多安装工具可以用来创建安装程序,但在Mac OS上,我看到了两种安装应用程序的方法: 您下载的DMG文件,双击,然后在其中运行应用程序-应用程序通常让您将图标拖动到另一个图标(代表应用程序文件夹)以安装应用程序 另一种文件类型,它启动一个显然是标准的安装程序,有时会出现类似“此安装程序可能会运行一个程序来确定您是否可以继续安装”的警告 在Mac OS上安装应用程序的“标准”打包方式是什么?以上哪一种是苹果推荐的方式 谢谢。很明显,苹果正在制定从应用商店下载程序的“标准

我知道在windows上有很多安装工具可以用来创建安装程序,但在Mac OS上,我看到了两种安装应用程序的方法:

  • 您下载的DMG文件,双击,然后在其中运行应用程序-应用程序通常让您将图标拖动到另一个图标(代表应用程序文件夹)以安装应用程序

  • 另一种文件类型,它启动一个显然是标准的安装程序,有时会出现类似“此安装程序可能会运行一个程序来确定您是否可以继续安装”的警告

  • 在Mac OS上安装应用程序的“标准”打包方式是什么?以上哪一种是苹果推荐的方式


    谢谢。

    很明显,苹果正在制定从应用商店下载程序的“标准”。这样做的好处是使应用程序安装对普通用户透明。而且,信不信由你,普通人在安装程序的概念上有很多麻烦。当然,这种好处也会带来一些代价,但这不是争论的地方——还有很多其他地方可以争论


    假设你不想或不能去应用商店,PKG和DMG都是分发程序的常用方式。如果需要安装应用程序包之外的文件(这不应该是常见的用例),请使用PKG。在所有其他情况下,使用DMG提示用户将应用程序复制到应用程序文件夹中。但是你的很多用户不会明白他们需要这样做(除非你的目标受众仅仅是知识渊博的计算机用户)。他们将从磁盘映像运行您的应用程序。理想情况下,在这种情况下,您的程序将检测到它正在从磁盘映像运行,并提供将自身复制到应用程序文件夹中。

    在OS X中,许多应用程序只是作为可重新定位的应用程序创建的 用户只需将其复制到 /应用程序文件夹(或任何其他位置)。在其他情况下,当您 需要在计算机上执行某些操作(例如添加用户 或者更改权限)您可以使用PKG安装程序(例如使用构建),这允许 执行一些安装前和安装后脚本,并支持一些基本的 安装配置,如选择安装驱动器

    有时,就像使用复杂的服务器软件一样,您需要更大的灵活性,例如向用户显示自定义页面 请求安装所需信息的最终用户 应用程序,如MySQL端口和密码或代理信息 动态下载需求(或者只是为了让它看起来更华丽) :)). 对于这种情况,还有其他安装程序解决方案,如我们的(免责声明,我是开发人员之一)。 InstallBuilder还具有生成多平台的优势 安装程序使用相同的项目,每个项目几乎没有自定义
    平台。

    我们正在讨论两件事:

    • 首先也是最重要的一点,是一种标准方法,通过这种方法,可执行文件的位以系统可以访问和正确注册的方式放置在磁盘上
    • 第二,苹果推荐的.app的准备机制
    上一个较旧的营销页面说,建议使用PackageMaker应用程序创建包(以便安装程序应用程序可以将位移动到位)。 此处介绍了它的用法:mactech.com/articles/mactech/Vol.25/25.03/2503MacEnterprise-PackagingforSystemAdministrators/index.html

    但正如其他人所提到的,房间里的大象是MacAppStore(简称MAS)。在它面世之前,大型公司的标准做法是将自己的定制脚本放入一个老式的“捆绑包”中,或者使用一个可执行文件,如VISE安装程序。较小的开发人员通常试图通过拖放方式安装他们的应用程序,这些应用程序以zip存档或磁盘映像的形式分发(为了简单起见)。 MAS是不同的:从10.7开始,它使用了一种称为扁平包的包格式(在10.5中首次出现)(实际上是xar存档,解释) 它通过http传输到一个隐藏文件夹,直接安装到应用程序中(之后,它下载到的临时文件夹将被删除)。它将其收据和账单或物料文件放入/private/var/db,因此可以通过内置命令行pkgutil工具进行审计,如下所述:mactech.com/articles/mactech/Vol.25/25.12/2512MacEnterprise-PackagesReceiptsandSnow/index.html

    使用扁平包格式的一个好处是,您可以更安全、更高效地在网络上拉东西,但是如果您定期测试和修改包,或者迭代以确保执行操作或检查的脚本工作正常,那么使用捆绑包就不那么容易了。即使在平坦的情况下,也建议将pkg放在存档或磁盘映像中以提高灵活性。更多的分发工具需要DMG而不是zip,所以也有

    除了苹果推荐的和标准的、通用的做法之外,还有这篇文章:它讨论了为什么和如何(尽管主要针对系统管理员)打包以实现更广泛的分发。强烈建议您更多地了解出问题的方式、原因以及应避免的问题。

    试试看!
    另一个软件包创建者。

    软件包运行良好。如果您的部署过程必须保持简单,那就太好了

    快速构建
    包括将
    .app
    拖动到
    上,即可完成

    对于高级包装,您还可以提供证书


    苹果所做的就是让事情保持一致。这对最终用户来说非常好。回答得很好。请提供3种主要方法的介绍链接。首先,请您详细说明一下程序如何判断它是从DMG运行的?(使用哪种Cocoa/其他API?)另外,程序如何将自身复制到应用程序文件夹?这需要一个