none
關於WinForm 在Vista中讀取config file的問題 RRS feed

  • 問題

  • 大家好,

    我用WinForm建立了一個程式, 那個程式中有一個config file, 以下是個config file的內容:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
    	<appSettings>
    		<add key="location" value="2"/>
    	</appSettings>
    </configuration>

    我在程式中以下列代碼讀取以上的設定:

    System.Configuration.ConfigurationManager.AppSettings["location"]

    程式如果直接在Vista上運行是沒有問題的. 

    我之後建立了一個setup project, 這個setup project用來安裝以上的程式. 

    當我用安裝檔在Vista上安裝了那個式程式之後, 

    不知為何我一定要用管理員身分才可以讀取到正確的設定, 如果不是以管理員身分執行程式, 不知為何它會無視設定, 只會傳回1.

    我想問大家有無遇過這個問題和如何解決?


    Stanley

    2012年4月19日 上午 08:34

解答

  • 因為安裝到了 Program Files 目錄下, 有 UAC 管控的問題. 而且你用的是 Visual Studio 2005 嗎 ? 如果是 2005 , 沒有自訂 Manifest 會有 Virtual Store 的狀況.

    請參考

    [卡到陰事件簿歡樂團圓大結局]

    [如何修改包裝在msi中的檔案權限]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年4月19日 上午 11:11
    版主

所有回覆

  • config 檔放在哪?

    學習不是查個 Google 套個書上的範例就算了,而是去熟悉了解每個程式碼背後的意義,否則就算學個幾百年,它也不會是你的。
    =================================
    小朱的技術隨手寫:http://www.dotblogs.com.tw/regionbbs/
    雲端學堂Facebook: http://www.facebook.com/studyazure

    2012年4月19日 上午 10:23
    版主
  • config 檔放在 同執行檔的同一個文件夾裡

    即是:

    abc.exe

    abc.exe.config


    Stanley

    2012年4月19日 上午 10:38
  • 因為安裝到了 Program Files 目錄下, 有 UAC 管控的問題. 而且你用的是 Visual Studio 2005 嗎 ? 如果是 2005 , 沒有自訂 Manifest 會有 Virtual Store 的狀況.

    請參考

    [卡到陰事件簿歡樂團圓大結局]

    [如何修改包裝在msi中的檔案權限]


    在現實生活中,你和誰在一起的確很重要,甚至能改變你的成長軌跡,決定你的人生成敗。 和什麼樣的人在一起,就會有什麼樣的人生。 和勤奮的人在一起,你不會懶惰; 和積極的人在一起,你不會消沈; 與智者同行,你會不同凡響; 與高人為伍,你能登上巔峰。

    2012年4月19日 上午 11:11
    版主