イントラネット Web サービス URL などのさまざまな便利な設定を保存するために user.config に依存する .NET WinForms アプリケーションを開発しています。インストールの一部としてカスタム初期設定をインポートできるようにしたいと考えています。これの使用例は、企業がソフトウェアをインストールしたい 100 台のマシンを持っていて、それらすべてが問題のイントラネット Web サービスへの参照を持っている必要がある場合です。これは、すべてのマシンで手動で設定する必要はありません。
現在、VS2008 セットアップ プロジェクトを使用してインストール パッケージを生成しています。
これまでのアイデアは、インストーラーが (テンプレートからの) 情報を使用してカスタムの初期 .config ファイルを作成できるようにし、セットアップ プロジェクトがインストールする既定のファイルの代わりにそれを配置することでした。
ただし、これらのいくつか以外にこれを行う方法がわかりません。
- ConfigurationManager クラスを使用して .config ファイル パスを決定するために、実行可能ファイル名をカスタム インストーラー アクション (System.Configuration.Install.Installer から派生) にハードコーディングします。実行可能ファイル名が変更された場合、インストーラーを手動で変更する必要があります。
- 独自の構成クラスまたはファイル/フォルダー階層をロールして、設定を保存します。私の理解が正しければ、これは基本的に、.NET が提供する分離メカニズム (ここでは障害でもあります) の利点から私たちを締め出します。
上記の2つをおいしくする方法、または代替案を知っている人はいますか?
答えは「これをしないでください。メカニズムの精神を打ち負かし、独自の設定インポートメカニズムをロールバックします」かもしれません。