Is this just a windows limitation?
O provedor MSI parece bastante limitado em relação aos outros provedores de pacotes. Isso certamente não é uma limitação do Windows / MSI. Acredito que o Windows forneça o que é necessário para que essas opções funcionem.
Is there a way to upgrade the existing Java install using msi packages?
Uma opção pode ser desistir do provedor msi do pacote e simplesmente fazer tudo com as instruções Exec. O comando msiexec
tem muitas opções.
Você provavelmente também poderia criar uma maneira de organizar as coisas de modo que, se uma atualização precisar ser feita, a versão antiga seja removida primeiro. Em seguida, uma nova versão é instalada, você provavelmente teria que acompanhar a versão em um arquivo ou o registro em algum lugar, já que os provedores MSI não fornecem nenhuma informação sobre a versão.