MSインストーラー設定例

MSインストーラー(配置)による
インストーラー作成手順例を説明します

注意事項

現在1GBを超えるゲームはビルドできないようです。MSの対応予定が現在発表されていませんので
それの対応方法を示しておきます

方法1
Windowsの起動オプションに/3GBをつける。(この方法で、おそらく1.5GB程度までビルドできます)

方法2
64bitOSを使う(この方法で、おそらく2GB程度までビルドできます)

方法3
dwq,cdvawなどの容量の大きなファイルをビルドから除外し、外部プログラムでコピーする
方法3については、必要な箇所で説明を追加しておきます

前準備

Visual Studio 2008(2005) のスタンダードエディション以上を購入します
(2005の場合はプロフェッショナル以上が必要かもしれません。現在販売されているのは2008のほうです)

以後の解説は、配置プロジェクトが使用可能な状態になっていることが前提となります
また以下の解説は2005でのものです。2008では異なる可能性があります

インストールする一式フォルダーに
nnnInstallAddフォルダーをコピーします

dwqcdvawCopy.exe    1GB対応用
msiCall.exe         アンインストール設定用
nnnDeleteSave.exe   セーブデータ削除用
nnnDXCallMSI.exe    DirectXインストール用


※ dwqCdvawCopy.exeは、1GB対応を行わない場合には必要ありません

1GB超ゲーム対応補足

ダミーフォルダーの作成

もとデータ一式に
makedummydwqcdvaw.exe
をコピーします

makedummydwqcdvaw.exe
を実行させます

「ダミーフォルダー」という名前のフォルダーと、なかにダミーのdwq,cdvawフォルダーおよび

圧縮データ dwq.nyp cdvaw.nypができます


配置プロジェクトの新規作成
VisualStudioを起動し、メニューから[ファイル]-[新規作成]-[プロジェクト]を選択します

次のようなダイアログが表示されますので

1.[その他のプロジェクトの種類]-[セットアップと配置]をクリックします
2.右側の[セットアッププジェクト]をクリックします
3.必要に応じて、プロジェクト名と保存場所を設定します
4.[OK]ボタンを押します

これで、からのプロジェクトができます。あとは、これにファイルやレジストリ等を設定していきます

全体のプロパティの設定

ソリューションエクスプロラーSetup3(この名前は先ほど付けた名前になっています)上で
右クリックメニューを開き、[プロパティ]を選択します
次のようなダイアログが開きます

デフォルトの設定では、パッケージファイルは[セットアップファイルに圧縮]になっていますが
CDやDVDが複数枚になる場合は、[キャビネットファイルに圧縮]を選んで、サイズのカスタマイズを行ってください

右上の、[構成マネージャー]というボタンを押します
さらに次のようなダイアログが開きます

アクティブソリューション構成から[Release]を選び、閉じるボタンを押します
前のダイアログにもどります

構成から、Releaseを選びます

[必須コンポーネント]ボタンを押します
次のようなダイアログが開きます

nnnではNetFramework2.0は使用していないのでチェックをはずします




かわりにWindows インストーラ 2.0をチェックします
Windows インストーラ 3.1をチェックしてもいいですがこちらは若干サイズが大きめです

98seにはWindows インストーラ 2.0がはいっていないので、
対応OSを98se以降にする場合には必須コンポーネントでWindows インストーラ 2.0をチェックする必要があります

NetFramework2.0にはWindows インストーラ 2.0がはいっているので
NetFramework2.0をインストールする場合にはWindows インストーラ 2.0をチェックする必要はありません
ただしNetFramework2.0はかなりサイズが大きいので、
後述の1.ネットからダウンロードにした場合、かなり時間がかかります
VS2008では、標準ではWindows インストーラ 2.0ははいっていないようですので
Windows インストーラ 3.1をチェックしてください





必須コンポーネントのインストール場所を設定します

1.必須コンポーネントをコンポーネントの開発元のwebサイトからダウンロードする
2.アプリケーションと同じ場所から必須コンポーネントをダウンロードする

1.サイズ小さい。ネット環境無いとコンポーネントダウンロードできない
2.サイズ大きめ。ネット環境不要


個人的お勧めは
Windows インストーラ 2.0(VS2008の場合は3.1)
2.アプリケーションと同じ場所から必須コンポーネントをダウンロードする

です

ファイルの設定

まずは、setup3上で右クリックメニューを開き、サブメニューの[表示]のなかから
[ファイルシステム]を選びます
これで、右側にファイル関連の情報が表示されるようになります

右側のファイルシステムウィンドウの
[対象コンピューター上のファイルシステム]-[アプリケーションフォルダ]上で右クリックメニューを開き
[追加] - [フォルダ]を選びます

新しいフォルダが作られますので、その上で右クリックメニューを開き
[名前の変更]を選んで名前をつけます。ここでは「nekoCat」という名前をつけたとして進めていきます

なぜわざわざフォルダーを作るかというと、ユーザーがインストール先をD:\などにしてしまった場合に
ルートに多数のファイルが散乱してしまうのを防止するためです

次に、インストールしたいファイルのはいっているフォルダーを
マイコンピューターなどを使って開きます

そのなかで、インストールしたいファイル及びフォルダーを全て選択し、
右クリックメニューのコピーを選びます

これを先ほど作ったフォルダー「nekoCat」上で右クリックメニューを開き、[貼り付け]でコピーします。
ドラッグでコピーしても問題ありません


1GB超ゲームの対応策


ダミーフォルダーとmakeDummyDwqCdvaw.exeは、コピーしないように注意してください

現時点でビルド不可能なサイズのゲームの場合には、
本来のdwq,cdvawフォルダーはコピーしないでください
かわりに、ダミーフォルダーの中のdwq,cdvawフォルダーをコピーします。

一部ファイルがMSインストーラー外でコピーしますので、MSインストーラーで表示される「必要な空き容量」は正しくなくなります
インストールの際のダイアログのメッセージに必要なサイズを表記するようにしてください

なかみのはいってないフォルダーは、デフォルトの設定では作成されませんので
なかみのないフォルダー上で右クリックして、[プロパティ]を選び、右側に表示されるプロパティの中から
AlwaysCreateを選び、[True]にしておきます。






ショートカットの設定

[ユーザーのプログラムメニュー]上で右クリックメニューを開き
[追加] - [フォルダ]を選びます
新しいフォルダが作成されますので、名前を付けておきます。
ここには、サークル名、会社名などをいれるのがよいようです

さらにその下にもフォルダーを作成し、同様に名前を付けておきます。
ここには、ゲーム名をいれるのがよいでしょう

ゲーム名のフォルダーをクリックして選択しておいて、右側のウィンドウで右クリックメニューを開き
[新しいショートカットの作成]を選びます
次のようなダイアログが開きます

[アプリケーションフォルダー]を選びます

さきほど作った「nekoCat」フォルダーがありますので、これを選びます

ショートカットを設定したいプログラムを選びます。ここではnnnExe2005.exeを選ぶことにしましょう
選んだら[OK]ボタンを押してください

右側にショートカットのプロパティが表示されますので
名前や、アイコンなどを設定しておきます


アンインストール用ショートカットの設定
同様にショートカットを作成します
対象は、アプリケーションフォルダー nekoCat nnnInstallAdd msiCall.exe
です

NameにUninstallと設定します。ここは、単なる名前ですので、カタカナにしたり自由に変えてかまいません

Argumentに

/Uninstall /[ProductCode]

と設定します
間には半角スペースを1つだけ入れてください

下からコピペが楽です


レジストリの設定
まず、左側のウィンドウのsetup3の上で右クリックメニューを開き
[表示] - [レジストリ]を選びます
これで、右側のウインドウには、レジストリ関連の情報が表示されるようになります

プロパティを設定します

まずはインストールするゲームのレジストリの設定先を調べます
これは、game.xtxで通常(特に設定なし)の場合は、HKEY_LOCAL_MACHINE
設定がある場合は、HKEY_CURRENT_USER
になります

今回はHEKY_LOCAL_MACHINEに設定する場合について解説します
HKEY_CURRENT_USERに設定する場合も、場所が違うだけで、方法はまったく同じです

HKEY_LOCAL_MACHINEのしたにSoftwareというフォルダーがあり、その下に[Manufacturer]というフォルダーがあります
この上で右クリックメニューを開き、[名前の変更]を選び、名前を設定します
ここで設定する名前は game.xtxで設定されている COMPANYNAME の右側の文字列です。


このような状態になります。「BAKUHATSUCLUB」の部分は、サークルや会社によってかわってきます

その上で右クリックメニューを開き[新規作成] - [キー]を選びます

新しいキーが作成されますので、同様に名前を変更します
ここで設定する名前は game.xtxで設定されている GAMENAME の右側の文字列です。


このような状態になります。「NEKOCATGAME」の部分は、ゲームごとにかわってきます

さらにこの上で右クリックメニューを開き、こんどは
[新規作成] - [文字列の値]を選びます


新しい値が作成されますので、名前を変更します

installdirectory

という名前に変更してください。

名前の変更ができたら、右側のプロパティウィンドウで値を設定します

Valueを選びます

右側には

[TARGETDIR]nekoCat

と入れます
「nekoCat」は前に作ったフォルダー名です

下からコピペが楽です


カスタム動作の設定
まずは、setup3の上で右クリックし、[表示] - [カスタム動作]を選びます。
これで右側のウィンドウには、カスタム動作の情報が表示されるようになります

カスタム動作として、

インストール終了後にDirectXの追加インストール
アンインストール時にセーブデータの削除(選択制)をつけることにします

右側の[カスタム動作] - [確定]の上で右クリックメニューを開き、[カスタム動作の追加]を選びます

[対象コンピューターのファイルシステム] - [アプリケーションフォルダー] - [nekoCat] - [nnnInstallAdd]
を選びます。そのなかから、
nnnDxCallMSI.exeを選択します

プロパティのArguments項目に /Installが設定されいますので、これに
/[SourceDir]を追加して

/Install /[SourceDir]

に変更します

下のテキストのコピペが楽です



同様のやり方で、アンインストールに
nnnDeleteSave.exeを設定します


デフォルトで プロパティのArguments項目に /UNINSTALL
がついていますが、これを変更しないようにしてください

1GB超ゲーム対抗処理

インストールにカスタム動作として、dwqcdvawcopy.exeを追加します

プロパティのArguments項目に /Installが設定されていますので、これに
/[SourceDir] /[TARGETDIR]を追加して

/Install /[SourceDir] /[TARGETDIR]nekoCat

に変更します
「nekoCat」の部分は、前につくったフォルダ名です。

下のテキストのコピペが楽です


のこりの全体設定
setup3をクリックし、右側にプロパティを表示しておきます

右側のプロパティウィンドウで設定を行います

1.InstallAllUsers設定
false インストールしたユーザーだけが遊べるインストール設定
true そのマシン使う全員が遊べるインストール設定

2.Manufacturer設定
サークルや会社ごとのデフォルトのフォルダー名として使用されます

3.ProductName設定
デフォルトのゲームフォルダー名として使用されます
インストール時の [インストール フォルダ] ダイアログの InstallAllUsersVisible プロパティに true  が設定されている場合
ユーザーがインストール時に選べるようになります。ユーザーに選ばせたくない場合は、ここをfalseにしてください

...

ビルドなど
メインメニューの
[ビルド] - [ソリューションのリビルド]
または
[ビルド] - [ソリューションのビルド]
で、プロジェクトをビルドします

エラーがなければ、以下のようなメッセージが出力ウィンドウに表示されます
1 正常終了、0 失敗、0 スキップ
であることをたしかめたら
プロジェクトを保存したフォルダーの
Releaseフォルダの中にインストールようのデータ一式がはいっています



この例では

InstMSIというフォルダーができていますがこのなかには、MSインストーラー2.0関連のファイルがはいっています

このReleaseフォルダの中身をインストーラー一式のフォルダーにコピーします

インストーラー一式のフォルダーとは、
DirectX一式や、アイコン、autorun.infなど必要なファイルをあらかじめいれておきます

その後インストーラー一式のフォルダーをCDやDVDに焼くことでマスターが完成します
1GB超ゲームの場合の追加事項

インストーラー一式のフォルダーに

本来のdwq,cdvawフォルダーをコピーするか

ダミーフォルダーにある
dwq.nyp
cdvaw.nyp
をコピーしてください
こちらは簡易圧縮をかけられるので多少サイズが小さくなります

その他
バナー設定

[表示] - [ユーザーインターフェース]
を選び、設定したいダイアログのプロパティを表示させます


BannerBitmapの右側をクリックして
(参照)
を選びます

[対象コンピューター] - [アプリケーションフォルダー] - [nekocat]
を選びます

右側の [ファイルの追加] を選びます
設定したい画像(bmp,jpg)のはいっているフォルダをえらびます

このときVS2005だと正しくフィルターが働いていませんので一覧に画像がでません(おそらく設定ミス)
ファイル名のところに改めて
*.bmp
または
*.jpg
と、いれます
表示された一覧から画像を選択します
使用する画像は500x70ピクセルが最適です。(それ以外のサイズは拡大縮小されてしまいます)
また、画像の左420ピクセルには、テキストがかさなりますので、それを考慮したデザインにしましょう