Как удалить один реестр VALUE при удалении MSI? - PullRequest
1 голос
/ 01 ноября 2010

Существует определенное значение реестра, которое мое приложение иногда создает во время выполнения, т.е. НЕ при установке.Это значение находится в разделе реестра, который я не хочу удалять;Я просто хочу удалить значение, которое я создал.Поскольку он не создается при установке, он не удаляется автоматически при удалении установщиком Windows.Что я могу сделать в MSI, чтобы удалить это значение, если оно существует?

Таблица Registry , по-видимому, не имеет этой опции.Значит ли это, что я должен написать собственное действие?Если да, у кого-нибудь есть примеры?

Я использую Wise Windows Installer Edition для создания MSI.

Также размещено здесь .

Ответы [ 2 ]

1 голос
/ 01 ноября 2010

Извините, вам понадобится пользовательское действие.

0 голосов
/ 17 ноября 2010

Вам нужно выполнить настраиваемое действие.

В итоге я реализовал это с настраиваемым действием, помещенным после WriteRegistryValues ​​в разделе Deferred.

.vbs для удаления ключа похоже наэто:

const HKLM = &H80000002
strComputer = "."
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\Mozilla\Firefox\Extensions"
strValueName = "myext@myco.com"
oReg.DeleteValue HKLM,strKeyPath,strValueName
...