WiX Сохранить реестр во время серьезного обновления, но удалить при удалении - PullRequest
0 голосов
/ 24 октября 2019

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

Я считаю,Мне нужно использовать RegistrySearch , чтобы достичь этого, читая значения в свойствах по отдельности.

Я понимаю, что этого можно добиться с помощью следующей разметки:

<Property Id="EXISTINGAPIKEY">
  <RegistrySearch Id="name_of_dword"
    Root="HKLM"
    Key="Software\SomeCompany\SomeApp"
    Name="api_key"
    Type="raw" />
</Property>

Теперь я сохранил значение HKLM:\Software\SomeCompany\SomeApp\api_key в свойстве с именем EXISTINGAPIKEY.

Следующим шагом является запись этого значения обратно в реестр после завершения обновления, но до запуска службы (которая устанавливается / обновляется пакетом).

Итак, вопросы:

  1. Как я могу записать это свойство обратно в реестр после обновления, но до запуска службы?
  2. Как я могу убедиться, что это происходит только во время обновления и что реестр очищается во время удаления?

Хороший шанс, что я обдумываю это!

...