Невозможно удалить каталог и файлы с помощью C #

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

Когда пользователь нажимает кнопку «Установить», программа установки запрашивает UAC. При выборе «Да» программа установки вызовет метод удаления существующих файлов и папок. Но удалить файлы и папку невозможно. Код, который я использую, - DI.Delete (путь). Это дает эту ошибку

Access to the path 'CodeCreate.aspx' is denied.
   at System.IO.Directory.DeleteHelper(String fullPath, String userPath, Boolean recursive)
   at System.IO.Directory.Delete(String fullPath, String userPath, Boolean recursive)
   at System.IO.DirectoryInfo.Delete(Boolean recursive)
   at CustomizationCA.CustomActions.DeleteExistingFilesAndFolder(Session session)

Хотя, если я запускаю командную строку от имени администратора, а затем использую команду "msiexec / i Setup.msi", он удаляет эти файлы и папку.

И при использовании Directory.Delete (path, true); Я получаю это как исключение

Exception thrown by custom action:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.Security.SecurityException: The source was not found, but some or all event logs could not be searched.  Inaccessible logs: Security.
   at System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly)
   at System.Diagnostics.EventLog.SourceExists(String source, String machineName)
   at System.Diagnostics.EventLog.VerifyAndCreateSource(String sourceName, String currentMachineName)
   at System.Diagnostics.EventLog.WriteEntry(String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte rawData)
   at System.Diagnostics.EventLog.WriteEntry(String source, String message, EventLogEntryType type, Int32 eventID, Int16 category, Byte rawData)
   at System.Diagnostics.EventLog.WriteEntry(String source, String message)
   at CustomizationCA.CustomActions.DeleteExistingFilesAndFolder(Session session)

Я использую инструмент WIX для создания установщика.

Если я перехожу к свойствам определенного файла, а затем даю полное разрешение всем пользователям, а затем пытаюсь удалить файл, файл удаляется . enter image description here

0
задан Yan Sklyarenko 11 January 2016 в 13:13
поделиться