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


83

Mac OS X用の最初のQtアプリケーションを作成しました。次に、ユーザーが簡単にインストールできる素敵な.dmgファイルを作成したいと思います。私はFirefoxが持っているようなものについて考えています(写真を参照): ここに画像の説明を入力してください

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


2
多分これはあなたが助けることができるstackoverflow.com/questions/96882/...
ロジャーLindsjö

自動化する必要はありません。もっと簡単に始めたいと思います;)
xx77aBs 2011

3
これは役に立つ
Mike K

@MikeK:これを回答として投稿する必要があります。受け入れます。まさに私が探していたものです;)
xx77aBs 2011

このチュートリアルを確認できます。iDMG(フリーソフトウェア)、Finder、端末だけで美しいDMGを作成する方法を段階的に説明します。その非常に簡単です。
Igor Augusto

回答:


90

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

appdmgは、単純なjson仕様からdmgファイルを作成する、単純で使いやすいオープンソースのコマンドラインプログラムです。公式ウェブサイトの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の作成者です)


他のソリューションと比較して、これは驚くほど簡単です。
aeolun 2014年

1
イェーイ、ライナスの行き方。Uppskattardet。
ファルケン教授2014年

OSX 10.6.8用にコンパイルされたバイナリを入手するチャンスはありますか?ソースをコンパイルする方法がわかりません...(ここではあまりリンゴの男ではありません...)
Mark Miles

4
@MarkMilesほとんどのコードはJavascriptで記述されているため、準拠していません。Npmは、必要なすべてのソースファイル(C、Objective-C)のコンパイルを処理します。すべてを実行する最も簡単な方法は、1)brew(brew.sh)をインストールすることです。2)Node.js(brew install node)もインストールしますnpm。これもバンドルされています。3)の回答で「クイック例を」フォロー
ライナスUnnebäck

@Lothar配布を簡単にするために、appdmgをバイナリとしてパッケージ化するのは素晴らしいことだと思いますが、ユースケースにはすでにnodejs環境が含まれていました。しかし、これが「単純なシェルスクリプト」で実行できると思われる場合は、あえて試してみてください。コードを見てください、それはそれほど些細なことではありません。シェルスクリプト以外のプログラミング言語があるのには理由があります。
ライナスUnnebäck

20

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


9

既存の答えはどれも私にとって実際にはそれをしませんでした。1つの答えは手動であり、他の2つのオプション(iDMGとnode-appdmg)はどちらも、理想的ではないファインダーのアップルスクリプトを含みます。

自動ビルドステップとしてこれを行う最良の方法は、希望どおりに見えるtemplate.dmgを作成することです(通常の指示に従います。たとえば、Simon Urbanekの回答に従いますが、圧縮の最後のステップは実行しません)。脚本:

  1. hdiutilを使用して画像を添付します
  2. cpなどを使用して、アプリケーションをマウントされたイメージにコピーします
  3. hdiutilデタッチ
  4. 画像を圧縮します。hdiutilconvert "in.dmg" -quiet -format UDZO -imagekey zlib-level = 9 -o "MyApp-0.3.dmg"

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


2
AppleScriptを廃止し、node-appdmgクロスプラットフォームを導入するよう取り組んでいます。作業をフォローしたい場合は、こちらをご覧ください:github.com/LinusU/node-appdmg/issues?milestone
open –LinusUnnebäck 2013

1
@LinusUnnebäckそれは素晴らしいです。それを共有してくれてありがとう!applescriptの依存関係を削除するだけでも優れています。
JosephH 2013

問題ありません:)私たちは本当に自分の.DS_Storeを書くことができる必要があり、すべてが本当に理解されています、私はそれを実装する時間を見つける必要があります。(github.com/LinusU/node-appdmg/issues/14
ライナスUnnebäck

.DS_Storeは文書化されておらず、文書化されることはないと確信しているため、解決策ではありません。テンプレートが唯一の信頼できるソリューションのようです。
Lothar


1

あなたはファインダーでそれを行うことができます:

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

    ここに画像の説明を入力してください

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

    アプリケーションフォルダへのショートカットを除いて、ここにあるものはすべて背景画像です。背景画像(背景色と矢印を含む)を変更することをお勧めします。これを行うには、画像エディタでファイルを開き、必要に応じて編集します。これを行った後、DMGファイルを開いてデバイスをアンマウントし、再マウントして変更を確認する必要がある場合があります。画像に何を入れるかによっては、新しい背景画像に合わせて、ショートカットをアプリケーションフォルダに移動する必要がある場合もあります。/Volumes/(whatever you called the device in step 3)/.image/image.png

  5. .appファイルを、DMGファイルのデバイスが開いているウィンドウの矢印の先頭にドラッグして、次のようにします。

    ここに画像の説明を入力してください

    十分な空き容量がないというエラーが表示される場合があります。その場合は、手順2に戻り、DMGファイルのサイズを大きくします。

  6. Finderでデバイス名の横にある矢印をクリックして、デバイスをアンマウントします。

    ここに画像の説明を入力してください

  7. DMGファイルを読み取り専用に変換します。これを行うには、ターミナルを開いて次のように入力します(/path/to/dmg/fileDMGファイルへのパスとDMGファイルnameOfDmgFile.dmgの名前に置き換えます)。

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

    これにより、newNameOfDmgFile.dmg(または上記で使用した他の名前)という新しいDMGファイルが作成されます。これは、必要なファイルです。


なぜDMGのサイズを変更する必要があるのですか(ポイント2で述べたように)
クリシュナマル

@KrishnaMaruこの回答を書いてから久しぶりですが、正しく覚えていれば、大きすぎるファイルを小さすぎるDMGにコピーしようとするとエラーが発生します。
ドナルドダック

0

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

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.