Удалить ключ реестра во время удаления - PullRequest
4 голосов
/ 26 ноября 2009

У меня есть простое приложение на C #, которое позволяет пользователям указать, что оно должно (или не должно) запускаться с Windows; это делается путем установки (или удаления) раздела реестра (а именно, ... \ Software \ Microsoft \ CurrentVersion \ Run \ MyApplicationHere).

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

Вот проблема: я бы хотел, чтобы деинсталлятор удалил этот ключ, если он существует, желательно не прибегая к каким-либо хакерским действиям; если есть простое «встроенное» решение, я бы с удовольствием его услышал. Спасибо!

Ответы [ 3 ]

7 голосов
/ 11 февраля 2013

просто щелкните правой кнопкой мыши на Setup, затем выберите View -> Registry, вы можете добавить ключ реестра к списку. Ключ имеет свойства (правый клик -> Свойства) AlwaysCreate, DeleteAtUninstall и Transitive keep AlwaysCreate в false и DeleteAtUninstall в true и переходный в также верно и готово ..

2 голосов
/ 26 ноября 2009

Таблица реестра предназначена для этого:
http://msdn.microsoft.com/en-us/library/aa371168(VS.85).aspx

См. Особенно под описанием "Имя":
Если столбец Значение имеет значение Null, то строки, показанные в следующей таблице в столбце Имя, имеют особое значение.

- ключ должен быть удален, если он есть, со всеми его значениями и подразделами при удалении компонента.

0 голосов
/ 26 ноября 2009

Попробуйте создать пользовательское действие удаления, чтобы удалить ключ. Не очень "встроенный", но это всего лишь пара строк кода.

...