Для обеспечения более удобного пользовательского интерфейса при обновлении приложения через загруженный MSI-файл я должен предоставить настраиваемое окно (WPF, если оно имеет значение), которое, в свою очередь, будет реплицировать действия msiexec, вызывая MSI.DLL. функции через взаимодействие.
Изначально это был простой вызов msiexec для загруженного MSI-файла, и было бы неплохо, если бы он оставался таким простым.
Мне также нужно предоставить функцию отмены, как это делает msiexec.
Каков был бы правильный способ программно запустить / остановить / прервать это через функции MSI.DLL?
(Я посмотрел на различные реализации MSI Interop, включая WiX, но не смог легко распознать API для этого).