我們有一個 ASP.NET 專案需要透過 UNC 路徑將檔案寫入到另一台電腦中,但是卻在測試的過程發現 Windows Vista 無法對網路上的 共用資料夾 ( Share Folder ) 進行 重新命名 的動作,我確定權限都有正確設定,而且可以寫入檔案、建立目錄、刪除檔案、刪除目錄,就是沒辦法對目錄進行重新命名,以致於遲遲無法完成專案的「目錄更名」功能。
然後,我再換到另一台 Windows Server 2008 進行測試,發現問題竟然一模一樣無法變更目錄名稱。最後經查詢得知只要是採用 Windows Vista 核心的作業系統都有可能出現此類問題,因此包括 Windows Vista 與 Windows Server 2008 都有可能發生此問題,不過經我測試多台電腦後發現並非每個人都跟我們一樣有此問題,應該屬偶發事件。
從 Windows Vista 開始就提供一個 Offline Files 服務 (如下圖示),此服務會儲存一個 client-side cache database 資料庫,用來儲存離線檔案的狀態,但當此資料庫毀損時就會導致目錄名稱無法變更的問題。
解決問題的方式也很簡單,只要新增一個機碼即可將將此快取資料庫重建,詳情請參考以下連結:
或直接點擊以下微軟提供的 Fix it 安裝檔,安裝完成後重開機即可修正完成。
Fix this problem