2014-08-28 2 views
1

Я использую проект Basic MSI для поддержки несколько экземпляров, и максимального число экземпляра 16.Installshield: как добавить окно сообщения в диалог выбора нескольких экземпляров?

Вот требование, когда установлен шестой экземпляр, диалог множественного выбора экземпляров показан ниже,

enter image description here

Я хочу вызвать одно новое окно сообщения при нажатии кнопки «Далее», как это сделать? Я не могу найти этот ресурс диалога в проекте.

ответ

1

InstallShield не предлагает способ сделать это напрямую. Этот диалог отображается setup.exe до того, как он запустит MSI, как только вызывается установщик Windows, он заблокирован в этом конкретном экземпляре. В зависимости от окна сообщения, которое вы хотите показать, вы можете сделать его частью MSI и показать его в начале в правильных ситуациях. Однако это не так, чтобы получить правильные результаты.

Простейшим подходом было бы ссылаться на свойство InstanceId, так как это указывает, к какому экземпляру вы находитесь. Однако после установки и удаления нескольких экземпляров, следующая установка, которую вы устанавливаете, может не соответствовать числу, которое в настоящее время присутствует в системе.

Чтобы быть в полной мере, вы должны иметь аналогичные знания о других экземплярах, о которых знает setup.exe: он поддерживает список экземпляров с их кодами продуктов (и более), чтобы он мог определить, установлены ли они. Если ваш MSI имеет эту информацию, он также может обнаруживать другие MSI (возможно, через записи Major Upgrade, установленные только для обнаружения, ссылаясь на различные значения UpgradeCode других ваших экземпляров).

В любом случае, как только вы определили приблизительный или точный счет, вы можете создать свое сообщение и либо показать его в диалоговом окне (например, поместив его в свойство, показанное на этикетке), либо показать его с вызовом MsiProcessMessage.

+0

yep, я просто хочу, чтобы это окно сообщения напоминало пользователю о том, что уже установлено 6 экземпляров. После того, как пользователь нажмет «ok» в этом окне сообщения, установка будет продолжена ... Какие подробности я должен предоставить? – zangw

+0

@zangw, это правильные детали, но это не так просто реализовать на стороне MSI. Я обновил свой ответ, чтобы включить больше направлений. –

Смежные вопросы