У меня есть файл настроек, созданный, когда пользователь запускает приложение wpf.
Я создал пользовательский деинсталлятор, чтобы удалить некоторые ключи реестра, связанные с моим приложением, и удалить этот файл настроек.
Но мой файл не удаляется.
Вот код -
public override void Uninstall(IDictionary savedState)
{
base.Uninstall(savedState);
try
{
using (RegistryKey registryKey = Registry.CurrentUser.OpenSubKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run", true))
{
if (registryKey.GetValue("TeachingManagementTool") != null)
{
registryKey.DeleteValue("TeachingManagementTool", true);
}
}
if (File.Exists("Setting.ini"))
File.Delete("Setting.ini");
}
catch (Exception ex)
{
MessageBox.Show("Registry Keys exception " + ex.Message);
}
}
Я попытался Directory.GetCurrentDirectory (), чтобы получить имена файлов и удалить их, но это не работает. Поэтому я проверил эту строку кода работает файл. Удалите (имя файла). Удаляет указанный файл. Поэтому он должен удалить файл во время удаления, так как он находится в той же папке.
В конце я должен сказать - я попробовал 2-3 различных способа получить доступ к этому файлу и удалить его во время удаления. но это не делитинг и выбрасывание ошибок иногда, а иногда и вовсе не исключение.
Исключение было связано с доступом к SysWOW64 \ AdvanceInstaller is
отказано
К вашему сведению - мое приложение уже имеет <requestedExecutionLevel level="highestAvailable" uiAccess="false" />
.
Я пробовал решения, доступные в StackOverflow, но они не работают, поэтому мне нужно было задать новый вопрос. Поэтому, пожалуйста, дайте мне знать, где я ошибаюсь. Я уверен, что это что-то очень незначительное, что я мог бы упустить здесь