Выборочная деинсталляция не удаляет файл в приложении .net - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть файл настроек, созданный, когда пользователь запускает приложение 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, но они не работают, поэтому мне нужно было задать новый вопрос. Поэтому, пожалуйста, дайте мне знать, где я ошибаюсь. Я уверен, что это что-то очень незначительное, что я мог бы упустить здесь

1 Ответ

0 голосов
/ 20 ноября 2018

Расширенный установщик : То есть вы используете Расширенный установщик ?В представлении Файлы и папки выберите нужную папку назначения.На правой панели щелкните правой кнопкой мыши внутри папки, в которой находится файл для удаления.Вы видите " Новая операция с файлом "?Выберите « Удаление файла » и настройте параметры.

Не забудьте правильно настроить параметры.В частности "Удалить вкл".Выберите «Удаление компонента».

File Removal

...