- - PR -
.NETのインストーラー作成について: コピー元のディレクトリが知りたい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-01-31 21:33
インストーラーのファイルシステムを使わずに、カスタム動作でインストーラークラスを呼び、そのクラス内でインストーラーの実行ファイルが置いてあるディレクトリの下位ディレクトリに存在するファイルを、インストール先にコピーしたいと考えています。
そこで質問なのですが、インストーラーを実行したときに、クラス内でインストーラーが実行されたディレクトリ(実行ファイルが置いてある場所)を知る方法を教えていただきたいです。 System.IO.Directory.GetCurrentDirectoryを使えば取得できると思ったのですが、失敗しました。 [環境] Windows XP SP2 VisualStudio.net 2003 VB.NET | ||||
|
投稿日時: 2006-02-01 10:44
質問の回答でなくて申し訳ありませんが、
何故そう考えますか? インストーラは必要なすべてのデータと命令を 1 つのパッケージに収めるものです。 _________________ 音速の定時退社! | ||||
|
投稿日時: 2006-02-01 11:38
とっちゃんです。
Yamさんと、同じになってしまいますが、インストーラでファイルをインストールするのではまずいのでしょうか? もしかして、実行時に書き換えを行うからとかを考えているのでしょうか? もし、そうだとしたら、Vista では、非常にまずいことになります。 書き換えるデータは、MyDocument や、Application Data の配下にコピーするなり、 新規生成するなりして使いましょう。 インストーラの段階で(インストーラクラスを含め)準備されるファイルは、 アプリケーションの実行時には、参照のみで使うようにアプリケーションを 作るようにしないと、万人受けするアプリには出来ませんよ。 で、直接的ではありませんが、回答のヒントです。 インストール元のフォルダの識別は、SourceDir というプロパティを使います。 インストーラクラスにプロパティ情報を渡す方法はご存知ですか? もし、わからないという場合は、一度インストーラのチュートリアルをやってください。 プロパティの渡し方も書かれています。 注意点は、ディレクトリなどの空白文字が含まれる(可能性のある)場合は ""でプロパティをくくってあげる必要があることです。 具体的には、"[SourceDir]" のようにします。 全てのプロパティを""でくくって渡しても問題はありません。 _________________ // とっちゃん(高萩 俊行)@わんくま同盟 // とっちゃん’Blog // MS-MVP for Developer Tools - Visual C++ // WindowsInstallerの話題はhttp://www.freeml.com/msiまで | ||||
|
投稿日時: 2006-02-03 20:05
問題解決しました。
みなさんありがとうございました。 > 具体的には、"[SourceDir]" のようにします。 > 全てのプロパティを""でくくって渡しても問題はありません。 /hogehoge="[SourceDir]\" でいけました。 |
1