web-dev-qa-db-ja.com

Mac OS X用の素敵なdmg「インストーラー」の作成

Mac OS X用の最初のQtアプリケーションを作成しました。次に、ユーザーが簡単にインストールできるようにするNice .dmgファイルを作成します。私はfirefoxのようなものについて考えています(写真を参照): enter image description here

私はこれに完全に慣れていないので、どこから始めればよいかさえわかりません。

76
xx77aBs

この回答を提供して、この質問を最新のものにします。

appdmgは、シンプルなJSON仕様からdmgファイルを作成する、シンプルで使いやすいオープンソースのコマンドラインプログラムです。公式Webサイトのreadmeをご覧ください。

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
    

(免責事項。私はappdmgの作成者です)

83
Linus Unnebäck

それはかなり簡単です-基本的な考え方は、Disk Utility(少なくともあなたのものを保持するのに十分な大きさにします-正確なサイズは関係ありません)を使用して空白のイメージを作成することです、 Finder、アイテムを入れて、好きなように配置します(アイコンのサイズや背景画像などを設定するには、右クリックと表示オプションの表示を使用します)。それだけです-残っているのは、そのr/wイメージを圧縮イメージに変換することです:それを取り出して、Disk UtilityでConvertを使用します圧縮画像に変換します。

19
Simon Urbanek

既存の答えはどれも私にとって本当にそうしませんでした。 1つの答えは手作業であり、他の2つのオプション-iDMGとnode-appdmg-はどちらも、理想的ではないFinderのAppleScriptを必要とします。

自動ビルドステップとしてこれを行う最良の方法は、あなたが望むように見える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"

https://github.com/remko/fancy-dmg/ には、これらの手順を含むmakefileがあります。

9
JosephH

このスクリプトにより、DMGの生成が非常に簡単になります。 https://github.com/andreyvit/create-dmg

また、ノードの依存関係はありません:-)

4
Martin Delille

Finderでそれを行うことができます。

  1. ダウンロードして解凍 この空のDMGファイル (作成してアップロードしたのは私です)
  2. DMGファイルのサイズを適切なサイズに変更します(通常、適切なサイズは、現在のサイズに.appファイルのサイズを加えたものです)。これを行うには、ディスクユーティリティを開きます(これを行う方法がわからない場合は、Launchpadで_disk utility_を検索します)。次に、メニューバーの[画像]をクリックし、[サイズ変更...]を選択します。ファイルを開くウィンドウが表示され、空のDMGファイルが開きます。
  3. DMGファイルをダブルクリックしてマウントします。デスクトップにUntitledという名前のデバイスが表示されます。名前を希望の名前に変更します(おそらく、プログラムと同じ名前を付けたいでしょう)。
  4. そのデバイスを開きます。次のようなものが表示されるはずです。

    enter image description here

    アプリケーションフォルダーへのショートカットを除いてすべてが白の場合は、 Cmd+J ウィンドウが開きます。そのウィンドウの下部には、「ここに画像をドラッグ」というラベルの付いた正方形があります。その正方形をクリックすると、「開く」ダイアログが開きます。そのダイアログで、を押します Cmd+Shift+G /Volumes/(whatever you called the device in step 3)/.imageと入力して、image.pngを選択します。

    ここにあるアプリケーションフォルダーへのショートカットを除くすべては、単なる背景画像です。背景画像(背景色と矢印を含む)を変更することもできます。これを行うには、ファイル/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ファイルが作成されます。これは必要なファイルです。

1
Donald Duck

これにはディスクユーティリティを使用できますが、背景に画像が必要な場合は、高度な指示が必要です。

まず、ディスクユーティリティを開きます
次に、[ファイル]> [新しい画像]> [空白の画像]をクリックします。
サイズと名前を尋ねられます。
その後、ファイルを挿入できます。

注:これはMac OS Mojaveでテストされました。以前のバージョンについては知りません。