2006年07月12日

インストーラ作成 VisualStudio .NET2003 インストールフォルダの取得の件

前にも悩んだ記憶のある、カスタム動作でインストール先のフォルダ名を取得する方法です。

セットアッププロジェクトの「カスタム動作エディタ」でカスタム動作のプロパティの「CustomActionData」を使って値を渡します。プロパティウィンドウで書くしかないようなので、せまくてやりにくいです。
/installdir=[TARGETDIR]

ここで「installdir」はなんでもいいです。カスタム動作で値を探すときのラベルでしかありません。「[TARGETDIR]」は「Windowsインストーラのプロパティ」です。

カスタム動作のプロジェクトで
MessageBox.Show(this.Context.Parameters["instdir"].ToString());

なんてやると取得できているのがわかります。

この[TARGETDIR]は
MSDN Japan Home > MSDN Library Japan > Visual Studio .NET による開発 > アプリケーションとコンポーネントの配置 > 配置の概念 > 配置のダイアログ ボックス > [インストール フォルダ] ユーザー インターフェイス ダイアログ ボックス
などで出てきます。

他の「Windowsインストーラのプロパティ」は日本語では見つけられませんでした。英語で
Administration and Management > Administration and Management > Application Installation and Servicing > Windows Installer > Windows Installer Guide > Properties > Property Reference
の中にありました。

これらのプロパティは大文字小文字が区別されます。[TARGETDIR]はいいですが、[TargetDir]はダメです。空の値が返されます。

複数渡したいときはスペースで区切ります。
/instdir=[TARGETDIR] /hard=[Intel] /tt=[Time]

MessageBox.Show(this.Context.Parameters["instdir"].ToString());
MessageBox.Show(this.Context.Parameters["hard"].ToString());
MessageBox.Show(this.Context.Parameters["tt"].ToString());


インストーラの作成(配置プロジェクト)については
ここら辺とか、
MSDN Japan Home > MSDN Library Japan > Visual Studio .NET による開発 > アプリケーションとコンポーネントの配置

こことか。
MSDN Japan Home > MSDN Library Japan > Visual Studio .NET による開発 > リファレンス > 開発環境のリファレンス > ユーザー インターフェイス リファレンス > Visual Studio > 配置

posted by ほえ at 17:26| Comment(0) | TrackBack(0) | Windowsプログラミング | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/20678215
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。