Wix / MSI - Как чтобы не устанавливать один и тот же MSI дважды

Моя программа установки написана на языке WiX. Он поддерживает основной механизм обновления. Особое требование состоит в том, что один и тот же файл MSI нельзя будет установить дважды.

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

Однако при установке в качестве нашего состояния вариантов использования в автоматическом режиме

msiexec.exe / i installer.msi / qn

Вторая установка продолжится как обычно (мы этого не хотим!)

Вот некоторые моменты, на которые следует обратить внимание:

В файле журнала второй установки последовательность « FindRelatedProducts » будет пропущена (как указано в документации Microsoft http://msdn.microsoft.com/en-us/library/ windows / desktop / aa368600 (v = vs.85) .aspx )

Также я немного исследую здесь http: //windows-installer-xml-wix-toolset.687559.n2.nabble .com / UpgradeVersion-is-not-detect-the-same-version -pting-downgrades-td5875840.html есть хорошая информация, утверждающая, что для этого сценария мы можем использовать свойство Installed для обнаружения если Produ ct уже установлен ...

Однако я застрял здесь: поскольку мне нужно избегать установки предыдущих или тех же версий, что и текущая, и разрешать обновления более высокого уровня, как я могу добиться этого в WiX?

Спасибо за вашу помощь !

13
задан Santiago Agüero 5 October 2011 в 03:49
поделиться