Я создал компонент с условием DISABLEMSIUPGRADE, который устанавливается, когда я устанавливаю MSI с помощью нашего ExternalUI.Однако MSI не удаляет запись об удалении.Я думаю, что проблема вызвана Условием, но я не могу это исправить.
<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 Elements в другие компоненты, чтобы гарантировать удаление ключей, но это также не сделало работу...
Я также пытался сохранить и прочитать свойство DISABLEMSIUPGRADE в Key.
// edit: Я немного поэкспериментировал и обнаружил, что СОСТОЯНИЕЭлемент не причина.Похоже, если у меня установлена другая версия моей установки, ключ реестра не удаляется.Что может вызвать это?