Проверьте ОЗУ в WIX Installer - PullRequest
1 голос
/ 19 марта 2012

Я хочу создать установщик WIX, при проверке предварительных условий я хочу увидеть объем ОЗУ, установленного в системе. Если он меньше 1 ГБ, он должен показать сообщение пользователю, указывающее, что «КоличествоОбъем оперативной памяти в системе меньше минимального, необходимого для этого продукта. Вы все еще хотите продолжить установку? "В окне сообщения отображаются две кнопки (Да и Нет).Если пользователь нажимает кнопку «Да», я продолжаю установку. Если пользователь нажимает кнопку «Нет», я просто отображаю диалоговое окно «Завершить» или отменяю установку.Как мне этого добиться?

Ответы [ 3 ]

7 голосов
/ 19 марта 2012

Установщик Windows устанавливает объем ОЗУ системы в Свойство PhysicalMemory .Обычно это свойство используется как условие запуска , которое останавливает установку и показывает сообщение пользователю.

Условия запуска не позволяют пользователю продолжить.Поэтому, если это не вариант, решение состоит в том, чтобы использовать настраиваемое действие .Ваше настраиваемое действие может проверить PhysicalMemory и показать окно настраиваемого сообщения, если этого недостаточно.На основании ответа пользователя пользовательское действие может затем вернуть 0 для продолжения или 1602 для остановки.

4 голосов
/ 19 марта 2012

Для выполнения ваших требований не требуется настраиваемое действие. Вы можете создать диалоговое окно установщика Windows и вставить его между двумя другими диалоговыми окнами (например, WelcomeDlg и VerifyReadyDlg) для условного вызова на основе свойства PhysicalMemory.

Вот как выглядят ControlEvents и Условия для WelcomeDlg:

SpawnDialog NotEnoughMemoryDlg PhysicalMemory

Затем вы создаете диалоговое окно, которое выглядит как окно сообщения, и называете его NotEnoughMemoryDlg. Иметь ControlEvent для кнопки «Да» EndDialog Return 1. Иметь ControlEvent для кнопки «Нет», которая говорит «Выход EndDialog 1. 1. 1007 *»

Если в системе достаточно памяти, она пропустит вызов пользовательского диалога. Если системе не хватает памяти, она вызовет диалог. Если пользователь нажмет «да», он вернется и перейдет к следующему управляющему событию, которое приведет вас к VerifyReadyDlg. Если пользователь нажмет кнопку «Нет», он вернется с сообщением об отмене и вызовет диалог отмены установки.

Я не очень много работаю с пользовательским интерфейсом в WiX (я в основном использую InstallShield, но основные концепции MSI те же), поэтому я не могу дать вам код «сделай это». Тем более, что я не знаю, как выглядит ваш текущий код WiX UI. (Вы используете расширение WiXUI?)

3 голосов
/ 19 марта 2012

Вы можете следовать моим инструкциям, чтобы отображать неблокирующее предупреждение для операционной системы . Адаптация этих инструкций для предупреждения о значении свойства PhysicalMemory, упомянутого Cosmin, не должна быть слишком сложной.

...