私はアプリケーションを開発していて、デプロイメントプロジェクト(インストーラーを作成する)の助けを借りてそれをデプロイします。
インストーラーの1つのステップで、ユーザーはアプリケーションのインストールフォルダーを変更できます。
別のDLLファイルから使用する必要があるいくつかのファイルがそこに保存されるため、このフォルダーが何であるかを知る必要があります。このインストールフォルダをプログラムで取得するにはどうすればよいですか?
ありがとうございました!
私はアプリケーションを開発していて、デプロイメントプロジェクト(インストーラーを作成する)の助けを借りてそれをデプロイします。
インストーラーの1つのステップで、ユーザーはアプリケーションのインストールフォルダーを変更できます。
別のDLLファイルから使用する必要があるいくつかのファイルがそこに保存されるため、このフォルダーが何であるかを知る必要があります。このインストールフォルダをプログラムで取得するにはどうすればよいですか?
ありがとうございました!
Installerクラスを見てください。このクラスから派生した新しいクラスをアプリケーションのプロジェクトに追加します。RunInstaller属性を適用することを忘れないでください。
デプロイメントプロジェクトで、インストールとコミットのカスタムアクションを追加します。カスタムアクションのインストールのCustomActionDataプロパティに、と入力し/Targetdir="[TARGETDIR]\"
ます。
アプリケーションのプロジェクトで作成したInstallerクラスで、Installメソッドをオーバーライドすると、このメソッドで次のようなインストールディレクトリを取得できます。
string targetDir = Context.Parameters[ "TargetDir" ];
現在のアセンブリがメインのTARGETDIRにインストールされている、非常に単純なセットアップの場合は、次を使用できます。
String targetDir = new System.IO.FileInfo(GetType().Assembly.Location).DirectoryName;