为Mac OS X创建漂亮的dmg“安装程序”

时间:2011-12-30 13:51:26

标签: macos installation dmg

我已经为Mac OS X制作了我的第一个Qt应用程序。现在我想创建一个很好的.dmg文件,允许用户轻松安装它。我在想像firefox这样的东西(见图): enter image description here

我对此完全不熟悉,所以我甚至不知道从哪里开始。

6 个答案:

答案 0 :(得分:83)

通过提供此答案,使这个问题更新。

appdmg是一个简单易用的开源命令行程序,它从简单的json规范创建dmg文件。请看官方网站上的自述文件:

https://github.com/LinusU/node-appdmg

快速举例:

  1. 安装appdmg

    npm install -g appdmg
    
  2. 写一个json文件(spec.json

    {
      "title": "Test Title",
      "background": "background.png",
      "icon-size": 80,
      "contents": [
        { "x": 192, "y": 344, "type": "file", "path": "TestApp.app" },
        { "x": 448, "y": 344, "type": "link", "path": "/Applications" }
      ]
    }
    
  3. 运行程序

    appdmg spec.json test.dmg
    
  4. (免责声明。我是appdmg的创造者)

答案 1 :(得分:19)

这很简单 - 基本的想法是你使用磁盘工具创建一个空白图像(使它足够大,至少可以保存你的东西 - 确切大小无关紧要),打开该图像使用 Finder ,将您的内容放入并按照您希望的方式进行排列(使用右键单击显示视图选项来设置图标大小或背景图像等内容)。几乎就是这样 - 剩下的就是将该r / w图像转换为压缩图像:将其弹出并使用磁盘实用程序中的转换将其转换为压缩图像。

答案 2 :(得分:9)

现有的答案都没有真正为我做过;一个答案是手动的,另外两个选项 - iDMG和node-appdmg - 都涉及使用不太理想的取景器。

作为自动构建步骤执行此操作的最佳方法是创建一个看起来完全符合您需要的template.dmg(遵循正常说明,例如Simon Urbanek的答案,但不执行压缩它的最后一步),然后在您的构建脚本中:

  1. 使用hdiutil附加图像
  2. 使用cp等将应用程序复制到已安装的映像
  3. hdiutil detach
  4. 压缩图片:hdiutil convert“in.dmg”-quiet -format UDZO -imagekey zlib-level = 9 -o“MyApp-0.3.dmg”
  5. https://github.com/remko/fancy-dmg/处有一个包含这些步骤的makefile。

答案 3 :(得分:4)

此脚本使DMG生成非常简单:https://github.com/andreyvit/create-dmg

此外,没有节点依赖: - )

答案 4 :(得分:1)

您可以使用Finder执行此操作:

  1. 下载并解压缩this empty DMG file(我是创建并上传它的人)
  2. 将DMG文件的大小调整为适当的大小(适当的大小通常是其当前大小加上.app文件的大小)。为此,请打开磁盘实用程序(如果您不知道如何执行此操作,请在Launchpad中搜索disk utility)。然后单击菜单栏中的“图像”并选择“调整大小...”。您将看到一个打开文件的窗口,打开空的DMG文件。
  3. 双击DMG文件进行安装。桌面上名为Untitled的设备应该出现。将其重命名为您想要的名称(您可能希望为其命名与程序相同)。
  4. 打开该设备。你应该看到这样的东西:

    enter image description here

    如果除了Applications文件夹的快捷方式外,一切都是白色,请按 Cmd + J ,将打开一个窗口。在该窗口的底部,有一个标有“在此处拖动图像”标签的正方形。单击该方块,将打开“打开”对话框。在该对话框中,按 Cmd + Shift + G 并输入/Volumes/(whatever you called the device in step 3)/.image并选择image.png。

    除了Applications文件夹的快捷方式外,其他所有内容都只是一个背景图片。您可能想要更改背景图像(包含背景颜色和箭头)。为此,请在图像编辑器中打开文件/Volumes/(whatever you called the device in step 3)/.image/image.png,然后将其编辑为您想要的任何内容。完成此操作后,您可能需要卸载设备并通过打开DMG文件来重新安装它以查看更改。根据放在图像中的内容,您可能还需要将快捷方式移动到“应用程序”文件夹以适合新的背景图像。

  5. 将.app文件拖到窗口中箭头的开头,在该窗口中打开DMG文件中的设备,使其如下所示:

    enter image description here

    您可能会收到错误消息,说明没有足够的可用空间。如果是这种情况,请返回步骤2并将DMG文件调整为更大的尺寸。

  6. 通过单击Finder中设备名称旁边的箭头卸载设备:

    enter image description here

  7. 将DMG文件转换为只读。要执行此操作,请打开终端并键入此内容(将/path/to/dmg/file替换为DMG文件的路径,将nameOfDmgFile.dmg替换为DMG文件的名称):

    cd /path/to/dmg/file
    hdiutil convert -format UDZO -o newNameOfDmgFile.dmg nameOfDmgFile.dmg
    

    这将创建一个名为newNameOfDmgFile.dmg的新DMG文件(或您上面使用的任何其他名称),这是您想要的文件。

答案 5 :(得分:0)

您可以为此使用“磁盘工具”,但是如果要在后台显示图片,则需要一些高级指导。

首先,打开“磁盘工具”
然后,单击文件>新图像>空白图像。
它将询问您的大小和名称。
之后,您可以将文件放入其中,然后就可以了!

注意:这已在Mac OS Mojave上进行了测试。我不知道以前的版本。