4

私はアプリケーションを開発していて、デプロイメントプロジェクト(インストーラーを作成する)の助けを借りてそれをデプロイします。

インストーラーの1つのステップで、ユーザーはアプリケーションのインストールフォルダーを変更できます。

別のDLLファイルから使用する必要があるいくつかのファイルがそこに保存されるため、このフォルダーが何であるかを知る必要があります。このインストールフォルダをプログラムで取得するにはどうすればよいですか?

ありがとうございました!

4

2 に答える 2

6

Installerクラスを見てください。このクラスから派生した新しいクラスをアプリケーションのプロジェクトに追加します。RunInstaller属性を適用することを忘れないでください。

デプロイメントプロジェクトで、インストールとコミットのカスタムアクションを追加します。カスタムアクションのインストールのCustomActionDataプロパティに、と入力し/Targetdir="[TARGETDIR]\"ます。

アプリケーションのプロジェクトで作成したInstallerクラスで、Installメソッドをオーバーライドすると、このメソッドで次のようなインストールディレクトリを取得できます。

string targetDir = Context.Parameters[ "TargetDir" ];
于 2010-10-05T17:08:23.543 に答える
0

現在のアセンブリがメインのTARGETDIRにインストールされている、非常に単純なセットアップの場合は、次を使用できます。

String targetDir = new System.IO.FileInfo(GetType().Assembly.Location).DirectoryName;
于 2015-09-18T15:57:29.010 に答える