удаление раздела реестра с помощью проекта установки и развертывания Visual Studio 2008 в Windows 7

Я создал проект установки и развертывания в Visual Studio 2008 Professional. Я использую Visual C++, и в нем у меня есть два исполняемых файла, которые запускаются под пользовательскими действиями. Один работает в фиксации, а другой в удалении. Цель состоит в том, чтобы добавить раздел реестра во время установки и удалить его при удалении. Он отлично работает в Windows XP, но когда я перехожу на Windows 7 и запускаю установку, работает только часть добавления ключа. Ключ не удаляется при удалении. Но когда я беру исполняемый файл удаления из программы установки и запускаю его отдельно в Windows 7 (не через программу установки, просто дважды щелкнув исполняемый файл), он отлично удаляет запись в реестре. Есть идеи, в чем проблема?


person Isuru    schedule 21.03.2010    source источник


Ответы (2)


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

person VitalyVal    schedule 21.03.2010
comment
Большое спасибо, буду разбираться :) - person Isuru; 21.03.2010

снова. Я решил свою проблему, создав файл .reg, поэтому с этим файлом .reg я создал с vb, process.start(), а затем удалил файл .reg с жесткого диска. Таким образом, я могу создавать ключи для пользователей, у которых нет полного доступа к его разрешениям в regedit.

Насчет удаления, я проведу новое исследование... в любом случае спасибо

person caty    schedule 29.03.2010
comment
А также, если вы используете редактор реестра установки и развертывания в Visual Studio, вы можете без проблем создавать ключи даже в Win 7. Извините, что не выложил раньше! - person Isuru; 02.05.2010