Microsoft SCCM документация для разработчиков приложений? - PullRequest
0 голосов
/ 08 июня 2018

Может ли кто-нибудь указать мне направление документации или рекомендации для разработчиков приложений, которые хотят поддерживать Microsoft SCCM?

Я хотел бы добавить поддержку Microsoft SCCM в мое приложение, чтобы клиенты могли использовать SCCMустановить и лицензировать приложение.Я предполагаю, что добавления соответствующих свойств и параметров командной строки в мой установщик было бы достаточно, но я не могу найти какую-либо документацию по SCCM, написанную для разработчиков приложений.

Мой установщик создан с использованием Wix Toolset.

Ответы [ 3 ]

0 голосов
/ 11 июня 2018

Обычно наиболее важным требованием является возможность автоматической установки.SCCM теоретически разработан для обеспечения взаимодействия с пользователем, но в принципе он противодействует идее массового развертывания, и я не думаю, что он используется где-либо на практике.

Я бы сказал, как минимум, разрешить полностью тихую установку (эквивалентof / qn msi), но, если возможно, также пассивный (эквивалентно / qb-!, что означает индикатор выполнения, но нет возможности отменить диалоги, которые можно принять).

Если в настройках есть параметры, укажите параметры или файл ответов.Если возможно, представьте эти варианты, когда -?указано также и в документации.

В общем случае SCCM просто запускает заданную командную строку, но основное отличие от ее запуска в том, что она использует встроенную системную учетную запись.Обычно не должно быть никаких отличий от обычного администратора с UAC, но я видел, что несколько установок не сработали только в этом случае, поэтому вы всегда должны тестировать с этим пользователем.Вы можете использовать psexec или paexec для запуска командной строки в качестве системной учетной записи.Из-за этого по умолчанию (или, по крайней мере, параметр командной строки) следует установить для всех пользователей.Если для каждого пользователя должны быть установлены файлы или reg_keys, это следует делать при первом запуске программы, а не через установку.Если это абсолютно необходимо сделать перед первым запуском программы, SCCM позволяет выполнять с правами пользователя один раз для каждого пользователя, но вам нужна отдельная настройка (или командная строка), и это опасная практика (предположим, что обновления запускаются, когда пользователь впервые запускает программу - пользовательустановка будет поставлена ​​в очередь)

Перезагрузок следует избегать любой ценой.Они не осуществимы для массового развертывания программного обеспечения IMO.Если им абсолютно необходимо помнить, что SCCM в модели депломента пакета / программы не поддерживает «условные» перезагрузки, поэтому, если есть возможность перезагрузки, это всегда должно происходить.В модели развертывания приложения можно использовать коды возврата по умолчанию 3010 = Мягкая перезагрузка и 1641 = Жесткая перезагрузка, чтобы разрешить контролируемые перезагрузки приложения.Однако я бы не стал заставлять администратора SCCM использовать определенный метод развертывания.

Обратная связь с пользователем обычно возможна только через журналы и коды возврата.Любая форма блокировки всплывающих окон не будет хорошо работать с sccm.Даже если вы утверждаете, что всплывающее окно будет отображаться только в случае ошибки, вы должны учитывать, что scly deplyoment обычно используется для запуска программного обеспечения на сотнях, если не на тысячах компьютеров, и пользователь перед этими компьютерами абсолютно не используетсообщение об ошибке.Еще хуже, если ваше программное обеспечение блокируется, а другое программное обеспечение находится в очереди, ему придется подождать, пока ваше программное обеспечение не вернется.

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

С учетом упомянутых предостережений также важно сказать, чтоСуществует один метод установки, который в значительной степени предпочитают сами Microsoft, и это установка в формате MSI без вывода сообщений с кодом продукта (может быть по умолчанию для всех MSIS). В своей модели развертывания приложений они позволяют администратору создавать все приложение непосредственно из файла.Код продукта будет использоваться для определения успешной установки, а удаление также возможно при желании.Конечно, поддерживаются и другие формы настроек (просто менее простые).В более старой модели пакета / программы нет разницы между msi или чем-либо еще.

0 голосов
/ 11 июня 2018

Если приложения и установки следуют документированным рекомендациям и рекомендациям по сертификации, они оказываются более подходящими для SCCM и управляемого развертывания.

Требования к сертификации для приложений рабочего стола Windows приведены здесь:

https://msdn.microsoft.com/en-us/library/windows/desktop/mt674655.aspx

и включают такие темы, как интеграция с Restart Manager, чтобы избежать перезагрузок, обратимой установки и неблокировка установки в зависимости от версии ОС.

Рекомендации для установщика Windows здесь:

https://msdn.microsoft.com/en-gb/library/bb204770.aspx

содержит дополнительные сведения о практике установки MSI.Также полезны сообщения в блоге Дао об установщике Windows:

https://blogs.msdn.microsoft.com/windows_installer_team/2006/05/12/tao-of-the-windows-installer-part-2/

, и неизбежно возникает некоторое совпадение.Существует не так много «как спроектировать» установку, но ответ Богдана охватывает большую часть этого.

0 голосов
/ 08 июня 2018

Некоторое время назад я написал статью с набором рекомендаций, которые могут оказаться полезными.Это рекомендации, не зависящие от инструмента, которые могут применяться независимо от того, какой инструмент упаковки вы используете, даже если в этой статье упоминается Advanced Installer, поскольку эта статья есть в нашем блоге.

PS Если у кого-то есть другие предложенияпожалуйста, дайте мне знать, и я обновлю статью.

Отказ от ответственности: я работаю над созданием команды Advanced Installer.

...