アプリやプラグインを配布用にパッケージ化する
オーディオアプリケーションやプラグインを様々なマーケットプレイスで配布するための準備方法を学びます。さまざまなOSプラットフォームで、すべてのプラグインタイプのインストーラーを作成します。
レベル:上級
プラットフォーム:Windows, macOS
プラグイン形式:VST, VST3, AU, AUv3, RTAS, AAX
はじめに
すべての ラッパーでバグがなく、可能な限り最適化された完璧なプラグインを実装し終えたものの、その傑作を配布するとなると何から始めればいいのかわからない?
それなら、このチュートリアルはあなたのために作られたものです! アプリケーションを配布するために準備することは、多数のプラットフォームにまたがってユーザーのシステムにインストールすることになると、かなり大変なことになります。マーケットプレイスの審査はますます厳しくなっており、ちょっとした見落としがバイナリの再提出を引き起こすこともあります。
このチュートリアルでは、まずプラグインのインストール場所について見て、次にMacとWindows用のインストーラーの作成に入り、最後にマーケットプレイスへの投稿のベストプラクティスを紹介します。
このチュートリアルを最大限に活用するために、ビルドしたプラグインとバイナリをパッケージングできる状態にしておいてください。
設置場所
プラグインのインストールは、ユーザーのマシンの適切なフォルダにプラグインをコピーするだけです。
プラグインを配布する場合、さまざまなプラグインラッパーのインストール場所を理解することが重要です。以下の表は、ターゲットOSによって、インストーラがファイルをコピーしなければならないディレクトリの一覧です:
プラグインタイプ | ディレクトリタイプ | パス |
---|---|---|
VST | User | ~/Library/Audio/Plug-Ins/VST |
VST | System | /Library/Audio/Plug-Ins/VST |
VST3 | User | ~/Library/Audio/Plug-Ins/VST3 |
VST3 | System | /Library/Audio/Plug-Ins/VST3 |
AU | User | ~/Library/Audio/Plug-Ins/Components |
AU | System | /Library/Audio/Plug-Ins/Components |
RTAS | System | /Library/Application Support/Digidesign/Plug-Ins |
AAX | System | /Library/Application Support/Avid/Audio/Plug-Ins |
Windowsインストールディレクトリ
プラグインタイプ | ディレクトリタイプ | パス |
---|---|---|
VST | Shared | C:\Program Files\VstPlugins |
VST | Shared | C:\Program Files\Steinberg\VstPlugins |
VST | Shared | C:\Program Files\Common Files\VST2 |
VST | Shared | C:\Program Files\Common Files\SteinbergVST2 |
VST3 | Shared | C:\Program Files\Common Files\VST3 |
RTAS | Shared | C:\Program Files\Common Files\Digidesign\DAE\Plug-Ins |
AAX | Shared | C:\Program Files\Common Files\AvidAudio\Plug-Ins |
64ビットシステムで32ビットプラグインを使用する場合は、"Program Files "フォルダに"(x86) "接尾辞を追加してください。
一般的に、プラグインをシステムフォルダまたは "Common Files "ディレクトリにインストールすることをお勧めします。ただし、インストールには管理者権限が必要です。
AUv3やAAXのような特定のプラグインフォーマットでは、インストールプロセスを成功させるために、コード署名や証明書のような余分なステップが必要です。
Mac用インストーラー
Windows版のみの配布を希望する場合は、次のセクションに進んでください。Installers for Windowsをご覧ください。
手動でインストーラを作成することも可能ですが、このタスクを簡単に実行できるツールはたくさんあります。その一例が、フリーソフトウェアのPackagesこのセクションでは、Macのインストーラーを作成するために使用する。
ウェブサイトからソフトウェアをインストールし、アプリケーションを起動します。作成するプロジェクトの種類を尋ねるウィンドウが表示されるはずです:

ディストリビューション」を選択し、「次へ」をクリックする。次のページボタンをクリックしてください。次の画面で、プロジェクトの名前と保存場所、必要なリソースを選択できます:

をクリックする。作成をクリックしてインストーラーの組み立てを開始します。メイン・プロジェクト・ウィンドウが開くはずです。
メインウィンドウで**+**ユーザーのコンピュータにインストールしたいプラグインフォーマットの数を、左のパネルにサインしてください。例えば、VST/VST3/AU/RTAS/AAXをインストールする場合、以下のスクリーンショットのように、対応する識別子とそれに応じた名前の5つのパッケージを追加します:

次に、左側のパネルで各パッケージを選択し、"com.yourcompany.pkg.format "のような一意の識別子を割り当て、"Require admin password for installation "チェックボックスがチェックされていることを確認してください(これは、ユーザーディレクトリではなくシステムフォルダにプラグインをインストールするために必要です)。

次のステップではペイロードを設定し、インストーラにプラグインをコピーする場所を指示します。参照しやすいように、プラグインがプロジェクトディレクトリのどこかにコピーされていることを確認してください。プラグインを選択します。ペイロードタブをクリックし、このチュートリアルの前のセクションで説明したように、対応するプラグインフォーマットのインストールディレクトリに移動します。必要なフォルダ構造がナビゲーションウィンドウに表示されない場合は、以下の方法で足りないフォルダを追加できます。階層 > 新規フォルダをクリックし、それに従って名前を付けます。次に、プラグインを希望の場所に追加するには**階層 > ファイルの追加...**を選択し、プロジェクトフォルダから以前にコピーしたプラグインを選択します。

では、インストール中に表示されるメッセージをカスタマイズしてみましょう。プロジェクト左のパネルからプレゼンテーションタブをご覧ください:

この画面では、インストーラの導入画面でカスタムメッセージを表示するために使用するテキストファイルの場所を指定できます。をクリックします。**+記号で右側の表に項目を追加し選択...**でテキストファイルの場所を指定してください。参照しやすいように、必ずテキストファイルをプロジェクトフォルダにコピーしてください。Read Me "と "License "のステップは、プレビューインタフェースのそれぞれのラベルをクリックすることで、このプロセスを繰り返すことができます。
インタフェースの "Installation Type "ステップを選択することで、インストー ルするパッケージ名の順序を変更したり、パッケージに説明を追加したり、 デフォルトの状態や可視性を指定したりできる。

ディストリビューションとパッケージの設定に問題がなければ、最終段階に進むことができます。ヒットファイル > 保存ではビルド > ビルドをクリックしてインストーラのビルドを開始する。手順がエラーなく成功すると、以下のような画面が表示されるはずです:

という名前のフォルダが作成されます。build
プロジェクトフォルダ内の.pkg
ファイルをプロジェクト名で作成します。このファイルをダブルクリックして、インストール・プロセスをテストしてください。
ディスクイメージの作成
ユーザーがダウンロードできる、より包括的でカスタマイズ可能なパッケージを提供するためには、一般的に、ディスクイメージを作成するのがベストプラクティスです。.dmg
ファイルを.pkg
ファイルを作成する。Macの内蔵アプリケーションDisk Utility
にある。Applications/Utilities
フォルダー
あなたの.pkg
ファイルを使用できるようにするには、次のようにフォルダを作成します。.pkg
ファイル、および「ライセンス」ファイルや「Read Me」ファイルなど、お望みの追加ドキュメントを含めます。このフォルダはディスクイメージの作成に使用され、解凍時に表示される内容になります。
打ち上げDisk Utility
に移動する。**ファイル > 新しい画像 > フォルダから画像...**を選択し、作成したフォルダを選択します。

新しいディスクイメージを.dmg
拡張子から "read/write "オプションを選択する。画像フォーマットフィールドでを打つときセーブこれで、次のステップでカスタマイズできる、変更可能なディスクイメージが生成されるはずです。新しく作成されたディスクイメージを開くと、作成に使用したフォルダの内容が表示されているはずです。項目を移動したり、オプションで背景画像を選択したりできます。表示 > 表示オプションを表示メニュー項目から

ディスクイメージの外観に満足したら、イメージを取り出すだけで、変更は自動的に保存されます。戻るDisk Utility
に移動する。**画像 > 変換...**を選択してください。.dmg
ファイルを作成します。ファイル名に.dmg
拡張機能から "read-only "オプションを選択する。画像フォーマットフィールドにいる。

ヒットコンバートそして、自信を持って顧客に配布できる最終的なディスクイメージが完成するはずです。
ドラッグ&ドロップ・インストーラの作成
を作成する代わりに.pkg
インストーラにプラグインインストールのためのすべてのコピー&ペーストを実行させることもできますが、よりシンプルなバージョンのディスクイメージを作成することもできます。この方法は、インストールが基本的にユーザーによって行われるため、エラーが発生しやすくなりますが、インストール場所をよりコントロールできるようになります。
ドラッグ&ドロップインストーラーは、ユーザーのシステム上のインストール場所にフォルダーエイリアスを提示し、ユーザーがこれらのエイリアスを介して適切なフォルダーにプラグインをドラッグ&ドロップするように誘う方法で機能します。
このタイプのディスクイメージを作成するには、前のセクションで説明したのと同じ手順で、必要なプラグインをすべて含むフォルダを持つディスクイメージを作成します。次に、ディスクイメージを前と同じように開き、外観をカスタマイズします。
サポートするプラグインフォーマット(チュートリアル冒頭の表を参考にしてください)のインストール場所に移動し、フォルダを選択して、エイリアスを作成します。ファイル > エイリアスの作成をクリックします。新しく作成されたエイリアスはディスクイメージに移動でき、フォルダはシステム内の場所を指すようになります。

あとは、ディスクイメージウィンドウのエイリアスにプラグインをドラッグ&ドロップするだ けで、インストールが実行されます。
チュートリアルのこのパートで説明したすべてのステップは、アプリケーションのパッケージングにも適用できます。
Windows用インストーラー
マックでの配布にしか興味がない場合は、前のセクションにお進みください。Installers for Macをご覧ください。
手動でインストーラを作成するのは面倒ですが、ありがたいことに、このタスクを簡単に実行してくれるツールがたくさんあります。その一例が、フリーソフトのInno Setupこのセクションで使用するWindowsインストーラーを作成する。
ウェブサイトからソフトウェアをインストールし、アプリケーションを起動する。インストーラー・スクリプトを書くためのコード・エディターが表示されるはずだ。

Innoセットアップスクリプトの例.iss
VST/VST3/RTAS/AAXプラグインをWindowsにインストールするためのファイルは、次のようになる:
[Setup]
AppName=TestPlugin
AppVersion=1.0.0
DefaultDirName={cf}
DefaultGroupName=TestPlugin
OutputBaseFilename=TestPlugin-windows
[Files]
Source: "TestPlugin.dll"; DestDir: "{app}\Steinberg\VST2"
Source: "TestPlugin.vst3"; DestDir: "{app}\Steinberg\VST3"
Source: "TestPlugin.dpm"; DestDir: "{app}\Digidesign\DAE\Plug-Ins"
Source: "TestPlugin.aaxplugin\*"; DestDir: "{app}\Avid\Audio\Plug-Ins\TestPlugin.aaxplugin"; Flags: recursesubdirs
ここでは、一般的なプロパティを設定しています。[Setup]
の特定のフォルダーにコピーしたいスクリプトとプラグインのセクションにある。[Files]
セクションを参照されたい。
Windowsの一般的なパスの位置に対する特定のショットカットは、目的の変数を中かっこで囲むことで、この構文フォーマットで利用できる。
- {pf}:Program Files "のショートカット。
C:\Program Files
. - {cf}:にある「共通ファイル」のショートカット
C:\Program Files\Common Files
. - {app}:インストール中にユーザーが選択した、インストール先アプリケーションディレクトリのショートカット。
デフォルトのインストール・ディレクトリを指定するためにDefaultDirName
変数を "Common Files "ディレクトリに追加することもできますが、セットアップインストーラを実行する際に、このようにプラグインを別の場所にインストールすることもできます:

個々のプラグインフォーマットを正しいディレクトリにコピーするようインストーラーに指示するには、作業ディレクトリのソースファイルをSource
を指定し、希望の設置場所をDestDir
での[Files]
セクションを個々のラインとして使用する。
AAXプラグインは、他のプラグインフォーマットとは逆に、フォルダとしてパッケージ化されていることに注意してください。recursesubdirs
フラグが設定されていなければならない。
スクリプトの設定に満足したら、次のボタンを押してください。ビルド > コンパイルでインストーラーを作成する。これにより、以下の名前のディレクトリにSetupアプリケーションが生成されます。Output
をデフォルトで作業ディレクトリにインストールします。このインストーラーの名前はOutputBaseFilename
の変数である。[Setup]
セクションにある。
Inno Setup内で直接インストーラをテストするには、次のコマンドを実行します。実行 > 実行コンパイルに成功したら、生成されたインストーラーを起動する。
ユーザーがインストールボタンをクリックすると、プラグインがスクリプトで指定された適切なフォルダにコピーされます:

チュートリアルのこのパートで説明したすべてのステップは、アプリケーションのパッケージングにも適用できます。
ランタイム・ライブラリのリンク
最近のウィンドウズ10のアップデートにより、ランタイム・ライブラリのスタティック・リンクは廃止され、代わりにダイナミック・リンクが推奨されている。
Windows用プラグインをビルドする際、JUCEはデフォルトでランタイムライブラリのダイナミックリンクを選択します。このユニバーサルランタイムはWindows 10からシステムコアの一部となったため、あなたのプラグインがWindows 10のユーザのみを対象としている場合、問題は発生しないはずです。しかし、Windowsのバージョンが8.1からVistaまでの場合、ユニバーサルランタイムライブラリが顧客のコンピュータにインストールされておらず、プラグインが正しく動作しない可能性があります。
この問題を解決するには、Windows Updateを通じてユニバーサルランタイムをインストールするようユーザーに促すか、プラグインと一緒にユニバーサルランタイムをダウンロードしてインストールするインストーラーを提供します。あるいは、スタティックリンクでプラグインをビルドすることもできますが、WindowsがDAWにロードできるプラグインの数を64個に制限するため、これはお勧めできません。
JUCEがProjucerでランタイム・ライブラリをリンクする方法は、ここで変更できます:

マーケットプレイスへの投稿
アプリを配信するストアによって、さまざまな種類の要件が存在します。しかし、これらのストアのほとんどで、審査プロセスを加速させるために従うことができる一般的なガイドラインがあります:
- 最も曖昧なユースケースであっても、クラッシュやバグを示さないアプリケーションを提出すること。
- アプリケーションの正確な説明を書くこと。
- マイクやカメラへのアクセスなど、アプリケーションで必要とされるすべてのパーミッションとエンタイトルメントの説明を提供すること。
Projucerエクスポーターの設定から、以下のように、マイクまたはカメラアクセスを使用する際に、簡単に説明テキストを提供できます:


アプリ内課金」や「プッシュ通知」機能など、macOS/iOSに必要なすべての機能/権限を登録してください:

Androidでは、関連するProjucerフィールドを有効にすることで、Androidマニフェストに必要なすべての機能をリストすることを意味します:

アイコンの正しい画像サイズを提供しないことは、リジェクトされるアプリの一般的な理由です。大小のアイコンなど、必要なリソースがすべて含まれていることを確認してください:

最高のユーザー・エクスペリエンスを提供するために、iOSの場合は「iOS Deployment Target」、Androidの場合は「Minimum SDK version」など、OSの最小バージョン要件を必ず設定してください。


最後に、JUCEはインタフェースデザインにネイティブUIを使用しないため、アプリの外観にも注意が必要です。ネイティブのデザインを模倣しようとするとリジェクトされるので、そうならないように注意してください。
概要
このチュートリアルでは、アプリケーションやプラグインを配布する方法を学びました。特に
- プラグインのインストール場所について学びました。
- Mac用とWindows用のインストーラーを作成。
- マーケットプレイスにバイナリを提出する際のよくある間違いについて議論した。