Как я обнаруживаю предыдущую версию, используя стандартный участок

Я успешно создал Стандартный Участок, используя InstallShield 2011 Основной MSI. Я испытываю затруднения из-за него обнаруживающий более раннюю версию приложения, которое было установлено. Например, у меня есть применение под названием XYZ с базовой версией 3.7.0.188, что я хочу исправить с версией 3.7.0.201. Я могу успешно применить этот участок к этим 3.7.0.188 основам. Теперь, если я устанавливаю более раннюю версию применения XYZ (3.7.0.173) и пытаюсь применить мой участок, это терпит неудачу. Я хочу быть в состоянии обнаружить это и показать диалог, что это не может быть сделано или, мои взгляды неправильно? Что правильный путь состоит в том, чтобы сделать это? Я чувствую, что InstallShield должен быть в состоянии неотъемлемо сделать это. 

Одна вещь исследовать состоит в том, если вы видите различное поведение, если вы используете незначительный участок модернизации вместо маленького участка обновления, вы описываете выше. Так как вы не изменили одну из первых трех частей вашего ProductVersion, вы поставляете маленькое обновление. Они намного более тверды рассуждать о, поскольку Windows Installer обычно полагает, что версии эквивалентны, и не сделает ничего вообще, чтобы препятствовать тому, чтобы вы шли "неправильное" направление.

Посмотрите [Внесение исправлений и модернизации](https://msdn.microsoft.com/en-us/library/windows/desktop/aa370579.aspx) а также связанные статьи о маленьких обновлениях и незначительных модернизациях.



Обычно, когда вы пытаетесь применить участок к версии, которая не соответствует ее целям, которые Windows Installer должен дать вам, сообщение, подобное "Участку модернизации, не может быть установлено службой установщика Windows, потому что программа, которая будет модернизирована, может отсутствовать, или участок модернизации может обновить различную версию программы..." Разве вы не получаете это сообщение?

Этим управляет OS от моего знания, не InstallShield.