WiX не удаляет registrykey на удалении

Я создал Компонент с Условием DISABLEMSIUPGRADE, который набор get, когда я устанавливаю MSI с помощью нашего ExternalUI. Однако MSI не удаляет запись на UnInstall. Я думаю, что проблема вызывается Условием, но я не могу зафиксировать его.

<Component Id="compMSI" Guid="5f18af6a-b839-4b4d-9d4f-79cf7826f749">
  <Condition>DISABLEMSIUPGRADE</Condition>

  <RegistryKey Root="HKLM" Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\$(var.PGuid)" Action="createAndRemoveOnUninstall">
    <RegistryValue Name="DisplayName" Type="string" Value="$(var.ProductTitle)" />
    <!-- ... -->
  </RegistryKey>
</Component>

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

Я также пытался сохранить и считать свойство DISABLEMSIUPGRADE в Ключе.

//редактирование: я экспериментировал немного и узнал, что Элемент УСЛОВИЯ не является причиной. Я похож, если у меня есть другая версия моей установленной установки, ключ реестра не становится удаленным. Что могло вызвать это?

8
задан Simon 23 July 2010 в 11:55
поделиться

1 ответ

В справочнике установщика Windows компоненты подсчитываются по их Component / @ Guid. Если у вас есть общий компонент (то есть компоненты с одинаковым @Guid) в файлах MSI, то содержимое компонента будет удалено только при удалении обоих MSI.

Я настоятельно рекомендую прочитать Правила для компонентов. Все это они контролируют: http://robmensching.com/blog/posts/2003/10/18/Component-Rules-101

17
ответ дан 5 December 2019 в 10:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: