2010-09-14 54 views
2

我已經添加了安裝後部署到設備的配置文件(myapp.exe.config)。但問題是這個文件獲得只讀屬性。我曾嘗試在「codeINSTALL_EXIT」函數中的安裝項目中添加一些內容。在模擬器上它可以工作......它刪除只讀屬性,而在電話上安裝時屬性保持不變。CF - 設備上的配置文件獲取只讀屬性

SetFileAttributes(szPathConfig, FILE_ATTRIBUTE_NORMAL) 

任何想法?

回答

1

從你的問題中不完全清楚文件是如何部署的(儘管我只是從CAb中得到的)。要做的檢查/知道:

  • 如果通過CAB安裝,但隨後從工作室(即調試)部署的文件將被覆蓋,並且文件演播室推動很可能是隻讀的,特別是如果你SCC機制鎖定未檢出的本地文件(如VSS)。

  • 當您構建CAB文件時,文件屬性將從源代碼繼承,這意味着如果在創建CAB時PC上的文件是隻讀的,則它將爲只讀出來的CAB 。一個人認爲安裝程序的EXIT會遲到以改變屬性,但我從來沒有測試過它。按照當前路徑,您可以在設置之前檢查屬性,並檢查Set調用是否確實成功。就個人而言,我只是確保所有文件都是在建立CAB之前啓用了讀/寫功能,以便首先避免整個問題。

+0

該文件位於我的/ app/bin/release(其中我的.exe是),並且沒有隻讀標誌集。但是,當我創建.CAB文件並將其安裝在設備上時,它只讀標誌。當我在模擬器上安裝相同的駕駛室時,只讀標誌不存在(它被移除)!在我的設置項目(代碼INSTALL_EXIT)中的代碼得到執行,我包括一個消息(如果(SetFileAttributes(szPathConfig,FILE_ATTRIBUTE_NORMAL)!= 0),並且我得到一個失敗消息,更改文件attr失敗。文件是至關重要的,應用程序的作品,我不知道它只讀attr !!:S – no9 2010-09-15 05:33:46