我們正在將.net Windows應用程序遷移到Windows 7.此應用程序可用於多種語言,但默認情況下只安裝英語。有一個菜單項允許用戶下載其他語言。
此應用程序正在使用標準的.Net衛星資源文件夾組織:http://msdn.microsoft.com/en-us/library/sb6a8618%28v=VS.80%29.aspx。
Windows 7中的問題是,用戶不是管理員,也沒有對安裝應用程序的「程序文件」文件夾的寫入權限。這意味着當用戶嘗試下載新的語言資源文件時,他們會收到錯誤。
是否有一種方法可以讓.Net在另一個文件夾中查找資源文件,例如在用戶的主目錄中找到資源文件? 我知道你可以將資源添加到.Net全局程序集緩存中,但是你也需要管理員權限。更改.Net Windows應用程序的i18n資源路徑
編輯:我知道了<探測>配置參數(http://msdn.microsoft.com/en-us/library/823z9h8w.aspx),但它只能用於指定應用程序的基本路徑的子目錄。有沒有辦法強制它到應用程序的家庭以外的文件夾?
編輯:我想我大概可以使用AppDomain.AssemblyResolve事件,查找此時,相應的資源,但它不會被調用到.NET 4的先前的資源組件和我不能有用戶更新到那個版本呢。
謝謝,
吉列爾莫
是的,我沒有問題寫入用戶目錄。我正在尋找的是一種控制.Net探測其他語言資源文件的方法。 – 2010-06-17 20:32:51
@Guillermo - 抱歉,我不知道任何避免應用程序路徑或gac :( – Oded 2010-06-17 20:38:03