мое приложение включает в себя исполняемый файл самообновления, который используется для обновления приложения.
Один из первых шагов, которые выполняет средство обновления, - проверить, есть ли у него разрешение на запись в папку приложения
IPermission perm = new FileIOPermission(FileIOPermissionAccess.AllAccess, _localApplicationCodebase);</p>
<pre><code> if (!SecurityManager.IsGranted(perm))
{
OnProgressChanged("Security Permission Not Granted \n The updater does not have read/write access to the application's files (" +
_localApplicationCodebase + ")",MessageTypes.Error);
return false;
}
OnProgressChanged("Updater have read/write access to local application files at " + _localApplicationCodebase);
return true;
При выполнении под Win7 / Vista этот код проходит (имеется в виду, что согласно CAS код имеет доступ на запись), однако, когда я пытаюсь записать файлы, я получил отказ в доступе (и подтвердил, что файлы НЕ используется)
Я понимаю, что Vista / Win7 UAC не позволяет пользователям записывать файлы в папки программных файлов. Однако я не понимаю, почему разрешение дается, если на самом деле оно не
С уважением,
Эрик Жирар
PS: если я запускаю тот же код с помощью «Запуск от имени администратора», он работает нормально