メインコンテンツまでスキップ

チュートリアルアプリやプラグインを配布用にパッケージ化する

📚 Source Page

オーディオアプリケーションやプラグインを様々なマーケットプレイスで配布するための準備方法を学びます。さまざまなOSプラットフォームで、すべてのプラグインタイプのインストーラーを作成します。

レベル:上級

プラットフォーム:Windows, macOS

プラグイン形式:VST, VST3, AU, AUv3, RTAS, AAX

はじめに

すべてのラッパーでバグがなく、可能な限り最適化された完璧なプラグインを実装し終えたものの、その傑作を配布するとなると何から始めればいいのかわからない?

それなら、このチュートリアルはあなたのために作られたものです!アプリケーションを配布するために準備することは、多数のプラットフォームにまたがってユーザーのシステムにインストールすることになると、かなり大変なことになります。マーケットプレイスの審査はますます厳しくなっており、ちょっとした見落としがバイナリの再提出を引き起こすこともあります。

このチュートリアルでは、まずプラグインのインストール場所について見て、次にMacとWindows用のインストーラーの作成に入り、最後にマーケットプレイスへの投稿のベストプラクティスを紹介します。

注記

このチュートリアルを最大限に活用するために、ビルドしたプラグインとバイナリをパッケージングできる状態にしておいてください。

設置場所

プラグインのインストールは、ユーザーのマシンの適切なフォルダにプラグインをコピーするだけです。

プラグインを配布する場合、さまざまなプラグインラッパーのインストール場所を理解することが重要です。以下の表は、ターゲットOSによって、インストーラがファイルをコピーしなければならないディレクトリの一覧です:

プラグインタイプディレクトリタイプMacインストールディレクトリ
VSTユーザー~/Library/Audio/Plug-Ins/VST
システムMacintosh HD/ライブラリ/オーディオ/プラグイン/VST
VST3ユーザー~/Library/Audio/Plug-Ins/VST3
システムMacintosh HD/ライブラリ/オーディオ/プラグイン/VST3
AUユーザー~/Library/Audio/Plug-Ins/Components
システムMacintosh HD/ライブラリ/オーディオ/プラグイン/コンポーネント
RTASシステムMacintosh HD/ライブラリ/アプリケーションサポート/Digidesign/プラグイン
AAXシステムMacintosh HD/ライブラリ/アプリケーションサポート/Avid/Audio/プラグイン
プラグインタイプディレクトリタイプWindowsインストールディレクトリ
VST共有C:\Program Files\VstPlugins
共有C:\Program Files
共有C:\Program Files\Common Files\VST2
共有C:\Program Files
VST3共有C:\Program Files\Common Files\VST3
RTAS共有C:\Program Files\Common Files
AAX共有C:\Program Files\ Common Files
注記

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 Setup メインウィンドウ
Inno Setup メインウィンドウ

Inno セットアップスクリプトの例.issVST/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に必要なすべての機能/権限を登録してください:

iOSの機能を有効にする
iOSの機能を有効にする

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

アンドロイドの機能を有効にする
アンドロイドの機能を有効にする

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

大小のアイコンを割り当てる
大小のアイコンを割り当てる

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

iOSの最小バージョンの設定
iOSの最小バージョンの設定
Androidの最小バージョンの設定
Androidの最小バージョンの設定

最後に、JUCEはインターフェースデザインにネイティブUIを使用しないため、アプリの外観にも注意が必要です。ネイティブのデザインを模倣しようとするとリジェクトされるので、そうならないように注意してください。

概要

このチュートリアルでは、アプリケーションやプラグインを配布する方法を学びました。特に

  • プラグインのインストール場所について学びました。
  • Mac用とWindows用のインストーラーを作成。
  • マーケットプレイスにバイナリを提出する際のよくある間違いについて議論した。

参照