2011-08-10 18 views
29

私はWindows上でインストーラを作成するために使用できるインストーラツールの束がありますが、Mac OSの上で私がアプリケーションをインストールするには2つの方法を見てきました知っている:Mac OSアプリケーションをインストールしてパッケージ化するにはどうすればよいですか?

  1. あなたがダウンロードDMGファイルを、ダブル(アプリケーションフォルダを表す)アイコンにアイコンをドラッグすると、アプリケーションをインストールすることができます。

  2. 明らかに標準インストーラを起動する別の種類のファイルは、 「このインストーラは、あなたがインストールを進めることができるかどうかを判断するためのプログラムを実行するかもしれない」のような警告を表示します。

Mac OSにインストールするためのアプリをパッケージ化する「標準的な」方法とは何ですか?上記のどれかがApple推奨の方法ですか?

ありがとうございました。

+1

ルーキーの質問が、私たちが代わりにDMGファイルの作成のために、それ自身の上の.appファイルを配布し、ユーザーがアプリケーションフォルダにコピーすることはできませんなぜですか? –

+2

.appはファイルではないためです。ユーザーには "ファイル"のようにしか見えませんが、実際には "バンドル"です。特別に構造化されたディレクトリで、ユーザーに表示されるように設定されており、まるでファイルのようにドラッグされます。「バンドル」は非常に「Mac」もので、電子メールやダウンロード、特にWindowsフォーマットのディスクではうまく動かない。しかし、DMG(ディスクイメージ)ファイルはディスク上の「ストリームのバイト」であり、簡単に転送できます。 –

+1

@MottiShneor、これはzipファイルの対象ではありませんか? ;) –

答えて

13

Appleは「標準」をApp Storeからプログラムをダウンロードすることを非常に明確にしています。これにより、アプリケーションのインストールを通常のユーザーに透過的にさせることができます。そして、それを信じてもいなくても、普通の人はプログラムをインストールするというコンセプトに多くの問題を抱えています。もちろん利益にはいくらかのコストがかかりますが、これはその議論の場ではありません。そこには他にもたくさんの場所があります。

あなたがApp Storeルートに行きたい、または行くことができないとすれば、PKGとDMGの両方がプログラムを配布する一般的な方法です。アプリケーションバンドルからファイルをインストールする必要がある場合は、PKGを使用してください(一般的な使用例ではありません)。それ以外の場合は、DMGを使用して、ユーザーにアプリケーションをアプリケーションフォルダにコピーするように促します。しかし、多くのユーザは、(あなたのターゲットオーディエンスが知識のあるコンピュータユーザでない限り)それを行う必要があることを理解していません。彼らはあなたのアプリケーションをディスクイメージから実行します。理想的にはこの場合、プログラムはディスクイメージから実行されていることを検出し、自身をApplicationsフォルダにコピーするように指示します。

+2

Appleがしていることは、物事を一貫させることです。これはエンドユーザーにとって非常に優れています。 –

+0

偉大な答え。 3つの主要な方法のイントロへのリンクがあります。 https://developer.apple.com/osx/distribution/ –

+0

から始めると、プログラムがDMGから実行されていることをどのように伝えることができるのですか少し詳しく教えてください。 (どのCocoa/Other APIを使用するのですか?)また、プログラム自体をApplicationsフォルダにコピーするにはどうしたらいいですか?これは認証/承認を必要としますか?このテクニックのサンプルコードはありますか? –

3

OS Xでは、多くのアプリケーションは、 /Applicationフォルダ(または他の場所)にコピーする必要がある、再配置可能な アプリケーションバンドルとして作成されました。他の場合では、 ユーザの追加や権限の変更など、マシン上でいくつかの操作を実行する必要がある場合は、 がインストールスクリプトの前後に実行するPKGインストーラ(たとえば、PackageMakerを使用して構築)を使用できます。インストールドライブを選択するなどのいくつかの基本的な インストール構成をサポートしてください。

時には、複雑なサーバーソフトウェアと同じように、あなたは ダウンロード要求にMySQLのポートおよびパスワードまたはプロキシ情報のようなあなたの アプリケーションをインストールするために必要な情報を、要求するエンドユーザーを するカスタムページを表示する例えば、より多くの柔軟性が必要(または単にそれを見事に見せるために :))。この場合、私たちのBitRock InstallBuilder(免責事項、私は開発者の一人です)のような他のインストーラソリューションがあります。 InstallBuilderには、 プラットフォームごとにカスタマイズされた同じプロジェクトを使用して、マルチプラットフォームの インストーラを生成できるという利点もあります。

7

は、我々は2つのことを議論している:

  • 最初の、そして最も重要なのは、実行可能ファイルのビットがアクセス可能で、適切にシステムによって登録されますように、ディスク上の出会いれる標準的な方法
  • 古いマーケティングのページは Apple's siteにアップル

によって推奨されているよう

  • 秒、.APPを製造するためのメカニズムは、パッケージを作成することをお勧めしますと言う(そうインストーラアプリケーションが所定の位置にビットを移動することができます)PackagでeMakerアプリケーション。 ここでその使用方法を説明しています:mactech.com/articles/mactech/Vol.25/25.03/2503MacEnterprise-システム管理者向けのパッケージ/index.html。

    しかし、他の人が触れたように、部屋のゾウはMacAppStore(略してMAS)です。デビューするまで、大企業の標準は、独自のカスタムスクリプトを古いスタイルの 'バンドル'パッケージにしたり、VISEインストーラのような実行可能ファイルを使用したりしていました。小規模の開発者は、通常、ドラッグアンドドロップでインストールできるようにしようとしました(簡単にするために)。 MASは異なります:フラットパッケージ(実際にはxarアーカイブ、説明here) と呼ばれるパッケージ形式(10.5でデビュー)を10.7で使用します。これはhttp経由で隠しフォルダに転送され、アプリケーションに直接インストールされます(その後、ダウンロードされた一時フォルダは削除されます)。レシートと請求書または材料ファイルを/ private/var/dbにドロップするので、ここに記載されている組み込みのコマンドラインpkgutilツールで監査が可能です:mactech.com/articles/mactech/Vol.25/25.12 /2512MacEnterprise-PackagesReceiptsandSnow/index.html

    フラットパッケージ形式を使用する利点は、より安全かつ効率的にネットワーク経由でプルできることですが、テストしている場合はバンドルパッケージとして扱うのが容易ではありませんパッケージを定期的に変更するか、アクションやチェックを実行するスクリプトが正常に動作するように繰り返します。フラットな場合でも、柔軟性のために、アーカイブまたはディスクイメージにpkgを入れることをお勧めします。より多くのディストリビューションツールはzipのものよりもDMGを期待しています。

    Appleが推奨していることと何が標準的で一般的なものなのか、この記事があります:https://www.afp548.com/2010/06/03/the-commandments-of-packaging-in-os-x/これは、幅広い配布用の理由と利点(主にシステム管理者向けですが)について説明しています。どのようにして、どのように間違っているのか、なぜ避けていくのか、より多くの感覚を得ることが大いに勧められます。

  • +3

    のようなものです。代わりに、packagemakerは廃止予定ですpkgbuildコマンドラインツールを使用してパッケージを作成する必要があります。 –

    6

    お試しIceberg! もう1人のパッケージ作成者。

    12

    パッケージがうまく機能します。デプロイメントプロセスを単純化しなければならない場合、それは素晴らしいことです。

    Quick buildは、.appPackageにドラッグすることで構成されています。

    高度なパッケージ化の場合は、証明書を提供することもできます。

    http://s.sudre.free.fr/Software/Packages/about.html