2017-03-27 11 views
0

私は奇妙な問題があります。私たちは作成したアプリケーション用のWixインストーラファイルを作成しました。このファイルには、接続文字列を含むxxxx.exe.configファイルが含まれています。管理者として実行されていないと、App.Configファイルが正しく読み込まれない

アプリケーションが起動すると、接続文字列をテストして接続できることを確認し、失敗した場合は新しい接続文字列を要求して再起動して再試行します。

すべてが管理者として実行されても正常に動作するように見えますが(これは必須です)、xxxx.exe.configファイルから接続文字列を手動で消去しても、もはや存在しない古い接続文字列を読み込みます。

私はそれがフォルダの許可だと思っていましたが、私は所有権と 'Program Files(x86)'フォルダ全体を完全に管理していましたが、xxxx.exe.configファイルを編集することはできません。古い接続文字列

WIX経由でインストールされていない場合は、すべて計画どおりに動作します。私は起動時にメッセージボックスに表示するように古い接続文字列を読み込んでいることを知っています。

誰も私が次に試すことができるアイディアがありますか?正直であれば古い接続文字列をどのように読んでいるのか分かりません(正しい場所を探しています)。どんな助けもありがたい。

編集 - その接続文字列でそのディレクトリを調べているようですが、そのファイルをディレクトリから完全に削除することができ、同じファイルの場所に同じものが表示されます。

答えて

2

ApplicationSettingsで既定の方法を使用して、application-config-file(xxxx.exe.config)に設定を保存することが許可されていない/できないため、アプリケーション設定を珍しく扱っているようです。 この現象を修正し、settings using the user scopeを保存しようとすると、そこに保存するために 'Program Files(x86)'の権限を変更する必要はありません。

インストーラパッケージが処理しなければならないファイルは、それらを更新しようとすると問題に遭遇するユーザによって変更されました。これらのファイルはWindowsインストーラの制御下にありません。

+0

私たちはそれがユーザーごとにできないので、それはうまくいかないでしょう。私たちは現在、起動時に読み込まれる接続文字列を格納するために、一般的なAppDataフォルダを探しています。 – Yokomoko

+1

私たちを正しい方向に押してくれてありがとう。私たちは共通のAppDataを使用しましたが、EFとデータレイヤーの大規模な権利で期待どおりに動作しているようです。 – Yokomoko

関連する問題