Мы переносим приложение .Net windows на Windows 7. Это приложение может использоваться на нескольких языках, но по умолчанию установлен только английский. Существует пункт меню, который позволяет пользователям загружать дополнительные языки.
Это приложение использует стандартную организацию папок ресурсов .Net: http://msdn.microsoft.com/en-us/library/sb6a8618%28v=VS.80%29.aspx.
Проблема в Windows 7 заключается в том, что пользователи не являются администраторами и не имеют прав записи в папку «программные файлы», в которой установлено приложение. Это означает, что когда пользователи пытаются загрузить новый файл языковых ресурсов, они получают ошибку.
Есть ли способ заставить .Net искать файлы ресурсов в другой папке, например, в домашнем каталоге пользователя?
Я знаю, что вы можете добавить ресурсы в кэш сборок .Net Global, но для этого вам также необходимы права администратора.
Редактировать : Мне известен параметр конфигурации (http://msdn.microsoft.com/en-us/library/823z9h8w.aspx),, но его можно использовать только для указания подкаталога базового пути приложения. Есть ли способ заставить его в папку за пределами дома приложения?
Редактировать : Думаю, я мог бы использовать событие AppDomain.AssemblyResolve для поиска подходящих ресурсов, но оно не будет вызываться для сборок ресурсов до .Net 4, и я не могу пользователи обновляются до этой версии.
Спасибо
Гильермо