Невозможно удалить файлы в папке «Program Files \ my app»: System.UnauthorizedAccessException: доступ к пути '' запрещен - PullRequest
0 голосов
/ 10 сентября 2018

Я пытаюсь создать программу обновления, которая заменит файлы в папке без необходимости установки. В рамках этого процесса мне нужно иметь возможность удалять старые файлы и заменять их новыми файлами. Я попробовал это и получил UnAuthorizedException. Я запускаю программу обновления от имени администратора. Я попробовал следующее а. Установка атрибута файла и папки на Normal [ Доступ к пути запрещен при попытке удалить определенный каталог б. Взяв на себя ответственность за папку и файлы, содержащиеся в нем [ Владение файлом или папкой с. Изменение разрешений и предоставление всем пользователям полного контроля над папкой и файлами [Использование настраиваемого действия в установщике] [ Как дать разрешения на чтение / запись для папки во время установки с использованием .NET д. Запуск программы обновления из службы Windows

Нет разницы в результатах. Я продолжаю получать сообщение об отказе в доступе. Что мне делать, чтобы программа обновления могла удалять файлы?

1 Ответ

0 голосов
/ 11 сентября 2018

Непонятно, что именно вы подразумеваете под «работать от имени администратора», но вход в систему в качестве администратора и запуск программы не означает, что программа работает с повышенными привилегиями, а это то, что ей действительно нужно. Но очевидно, что программа обновления не работает с повышенными правами.

Таким образом, проблема может заключаться в том, что вашей программе обновления необходим манифест повышения, поэтому при запуске она запрашивает повышение с приглашением UAC.

Сказав это, простая замена файлов, которые были установлены с помощью установщика Windows MSI, не поддерживается. Файлы должны быть заменены обновлением установщика Windows, таким как MSP-файл исправления или обновленный MSI-файл. Установщик Windows следит за каждым установленным файлом, его версией и обновлением или нет, а также за хэшем файла. Замена файла без использования установщика Windows может привести к непредвиденным требованиям к исходному файлу MSI, чтобы Windows могла восстановить файлы в исходное установленное состояние. Вы можете обнаружить, что, перейдя в раздел «Программы и компоненты» (или щелкнув правой кнопкой мыши файл MSI) и выбрав «Восстановить», вы также восстановите их.

...