Я использую NSIS для создания пакетов установки для приложений, разрабатываемых нашими штатными разработчиками в течение нескольких лет, а недавно мы перешли с альтернативного продукта на ConfigMgr для распространения программного обеспечения. Я хотел бы использовать встроенную способность ConfigMgr обрабатывать перезагрузку компьютера, но я не смог найти способ сделать это. Если я использую ConfigMgr для распространения MSI или MSU, требующего перезапуска, клиент ConfigMgr предложит пользователю перезагрузить через x минут (на основе глобальных параметров клиента, которые мы предварительно настроили), но при использовании EXE, созданного с помощью NSIS , это не. Кто-нибудь знает, что мне нужно добавить в пакет NSIS, чтобы ConfigMgr знал, что требуется перезагрузка?
Изменить: чтобы прояснить вопрос, я пытаюсь создать установщик NSIS, который я могу добавить в ConfigMgr в виде пакета, но мне нужно, чтобы установщик NSIS имел все необходимое, чтобы ConfigMgr распознал, что требуется перезагрузка. Надеюсь, это поможет.
Спасибо, Чк
В свойствах программы для пакета, который вы распространяете, используйте раскрывающееся меню «После запуска», чтобы выбрать «Configuration Manager перезагружает компьютер. ConfigMgr будет использовать код выхода вашего установщика (обычно 0 или 3010) в качестве сигнала, что установка завершена. Поскольку NSIS является установщиком по сценарию, вы можете использовать любой из них или оба, чтобы сказать, что пакет завершил свои операции, перезапустите сейчас. Убедитесь, что вы установили соответствующий обратный отсчет, чтобы у пользователя была возможность выйти из всех своих при необходимости откройте программы.
В приложении, которое вы настраиваете в ConfigMgr, вы можете указать код возврата в типе развертывания, там вы можете указать, как этот код будет обрабатываться ConfigMgr, поэтому вам просто нужно указать код возврата мягкого перезапуска и обработать его в ConfigMgr, или используйте значение по умолчанию, которое я не могу припомнить.