2017-03-27 27 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,並且不需要更改'程序文件(x86)'下的權限以保存某些內容。

如果你,如果你嘗試更新他們的安裝程序包應該照顧的被你遇到麻煩的用戶發生了變化,因爲這些文件沒有更多的在Windows安裝程序的控制文件 - 所以你必須避免這種情況。

+0

這對我們不起作用,因爲我們不能爲每個用戶提供服務。我們目前正在研究常見的AppData文件夾,以便存儲要在啓動時讀取的連接字符串。 – Yokomoko

+1

感謝您將我們推向了正確的方向。我們已經使用了普通的AppData,它看起來像預期的那樣工作,EF和Data層擁有大量的權利。 – Yokomoko