私はここにかなりの数のサーバーと仮想マシンに展開されるアプリケーションを持っています。このアプリケーションは、特定のファイルの場所とURL(ドメイン名が必要な場合、マップされたドライブなどを使用している場合、会社のネットワークのどの部分に応じて異なる可能性があります)に大きく依存します。これらのデプロイメントの一部は、私によってセットアップされることが保証されていないものもあれば、他のエンドユーザーによってセットアップされるものもあります。Clickonceの展開後にエンドユーザーがアプリケーションのapp.configを変更することは可能ですか?
私の解決策は、app.configファイルにこれらの値を入れることでした。展開後、サーバー上でアプリケーションを設定している人は誰でも、そのサーバーで動作するもののapp.config設定を変更するだけでした。
次に、アプリケーションのデプロイメントとアップデートを簡素化するClickOnceデプロイメントについて知りました。
問題は、ユーザーがapp.configの値を変更できる信頼できる方法を見つけることができず、これらの値を更新後に保持することが好ましいということです。私がウェブ上で見つけたことから、システムファイルを変更すると、ファイルが古いと思ってそのファイルの最新バージョンをダウンロードし、app.configの変更を元に戻します。また、新しいバージョンが以前のバージョンとはまったく異なるフォルダに配備されたように見えるので、アプリケーションをアップグレードすると以前の修正が完全になくなります。
私はウェブを検索して空手を手にしています。誰もがこれを処理する方法に関する提案をしていますか?
それ以外では、すべてのサーバーで同じように見えるデータベースを見つけて、サーバーごとにアプリ設定を保存するためのテーブル構造を作成するという面倒な作業が必要です。これがapp.configが最初に存在する理由のすべてではありませんか?それはclickonceなしでうまく動作します。 – KallDrexx
私はあなたのアプリケーションがすでにdbを使用していないと思っています。その場合、設定テーブルを導入することはオーバーヘッドに値するものではありません。表はサーバーごとではなく、アプリケーション用に1つのみです。 – Beth
現在のところ、このアプリケーションはDBには接続していません。ウェブサーバーのみです。どんな設定を変更する必要があっても、アプリケーションのセットアップ先のマシンとそのマシンの構成によって異なります。したがって、すべてのインスタンスに対するアプリケーション全体の設定は適用されません。 – KallDrexx