Я являюсь частью группы Software Approvals Group для многонациональной компании, и я абсолютно согласен со всем, что Адам говорит выше.
Я также хотел бы сделать следующие замечания: во-первых, всегда платить все ваши "налоги на развитие", Это означает, что нужно убедиться, что ваше приложение работает должным образом в целом ряде сред, которые вы, возможно, никогда не используете, но, скорее всего, это станет преградой для крупных компаний, например, убедитесь, что ваше приложение хорошо работает с перемещаемыми профилями пользователей и перенаправленные пользовательские папки (всегда используйте API-интерфейсы Windows для поиска папок пользователя и профиля, никогда не предполагайте, что они находятся в стандартном расположении или даже на локальном диске), убедившись, что он хорошо работает на серверах удаленных рабочих столов (где может быть 100 копий вашего приложения, запущенных одновременно, некоторые из них используют очень медленные соединения), на ноутбуках с медленными сетевыми подключениями или разряженными батареями и так далее. В качестве примера мы недавно отклонили новые версии более чем одного программного обеспечения от очень крупной компании (начинается с «A» и славится графикой), потому что их приложения вдруг не
Даже для бесплатного программного обеспечения с открытым исходным кодом конечным пользователям часто приходится подавать какую-либо форму запроса для проверки и одобрения программного обеспечения.
Тон вашего комментария звучит так, как будто вы думаете, что процесс утверждения как-то связан со стоимостью? С нашей точки зрения, цена за единицу приложения - это не то, что мы бы учитывали при утверждении. Финансовые обоснования для приложений будут разработаны, утверждения программного обеспечения - с точки зрения технической поддержки и поддержки. Бесплатное и открытое программное обеспечение, как правило, имеет больше проблем при прохождении нашего процесса, чем проприетарное коммерческое приложение. Часто это просто из-за отсутствия ответственности. К кому вы обращаетесь, когда возникают проблемы с приложением и вам нужна поддержка, каков их SLA? Кого вы спрашиваете, когда вам нужно выяснить, будет ли приложение работать с новой версией OtherApp vX, действительно ли они дают вам реальный ответ, к которому люди действительно стремятся, или это расплывчато?
После того, как процесс соблюден и программное обеспечение установлено, обновления могут быть проблематичными - многие организации склонны придерживаться более старых версий программного обеспечения (Windows XP, Office 2003 и т. Д.), Опасаясь неизвестных проблем.
Обновления программного обеспечения должны проходить тот же процесс, что и абсолютно новые части программного обеспечения. Единственное преимущество, которое у них есть, состоит в том, что мы уже знаем ответы на некоторые вопросы, поскольку мы уже поддерживали программное обеспечение (это может быть нехорошо для программного обеспечения, группы поддержки наложили вето на обновления, основанные на опыте работы с компания).
Вы предпочитаете программное обеспечение MSI или xcopy?
Любой из этих методов развертывания может быть хорошим, если они правильно упакованы. В противном случае мы вполне можем вырвать ваш установщик и перепаковать программное обеспечение для развертывания самостоятельно.
- Какой бы установщик вы ни использовали, вы должны убедиться, что вы соблюдаете все его режимы автоматической и автоматической установки. Если ваше приложение требует ручной установки, то есть мгновенного прерывания сделки, просто не существует практического способа сделать это на машинах на 5 континентах, которые получают всю не аппаратную поддержку из центрального офиса.
- Если бы у меня был выбор, я бы предпочел, чтобы хорошо сделанная установка MSI была удачной установкой xcopy. Проблема с большинством Xcopy-совместимых программ заключается в том, что они пытаются настроить и зарегистрироваться при первом запуске. Я очень редко находил приложение, которое делает это правильно и не вызывает проблем в среде роуминга пользователя / hotdesk. Установщики MSI (если вы придерживаетесь стандартного API) не могут пойти слишком далеко не так.
- Убедитесь, что ваша автоматическая установка дает возможность вносить все изменения конфигурации, которые могут быть сделаны при ручной установке. Если вы используете MSI и придерживаетесь API, то это нормально, мы можем преобразовать MST и делать все это без проблем. Если вы используете другой сторонний установщик, убедитесь, что он допускает что-то вроде файла ответов, INI-файла или аналогичного. Протестируйте установку без вывода сообщений и убедитесь, что все параметры работают, я встречал продукты, которые радостно объявляют о своих параметрах установки без вывода сообщений, но на самом деле они никогда не проверяли, работают ли все параметры.
- Желательно дать нам дополнительные опции в автоматической установке, которые позволят нам установить множество параметров, которые пользователь обычно меняет на панели «Параметры». Это может быть сделано с помощью переключателей на setup.exe, может быть наличие документированного файла INI для настроек, документирование необходимых изменений в реестре или все вышеперечисленное. Как бы то ни было, мы бы хотели убедиться, что наши пользователи могут приступить к работе с программным обеспечением без необходимости выполнять какие-либо настройки самостоятельно, важными здесь являются расположение файлов по умолчанию, имена серверов по умолчанию, настройки прокси-сервера (если ваше приложение работает через сеть) и т. д.
Если для программного обеспечения требуются фреймворки (Java, .NET), это может быть более или менее проблемным
Это определенно более проблематично. Управление версиями в большинстве сред и обратная / прямая совместимость ужасны. В частности, для Java многие приложения (и веб-сайты) требуют установки конкретной основной и вспомогательной версии Java и не будут работать ни с чем другим. Если вам нужно разместить на компьютере три разных приложения, которым всем нужны разные версии Java, и они не довольны стандартными способами маскировки одной версии Java другой, тогда возникнут проблемы. У .Net есть свои проблемы с управлением версиями, но, к счастью, вы сможете установить все основные версии фреймворка одновременно, что позволяет обойти многие из них.
Если программное обеспечение поддерживает автоматическое обновление, вы обычно разрешаете это?
Никогда. Слишком много проблем с версиями и совместимостью, чтобы приложение могло обновляться без предупреждения. Обновления приложений проходят тестирование и планирование. Также пользователи с обычными правами пользователя не могут применять обновления в любом случае. Если вы используете метод развертывания, который позволяет вносить исправления (например, использовать MSI с исправлениями MSP), то это может сделать такие вещи, как исправление безопасности для приложений, гораздо менее головной болью, и мы можем сами управлять автоматическим обновлением, используя наши средства развертывания (WSUS и SMS). ). Кроме того, наша команда безопасности очень подозрительно относится к любому приложению, которое «общается с базой», им нравится точно знать, какую информацию он отправляет и почему именно нужно отправлять что-либо на неизвестный сервер через Интернет.
Сколько времени это обычно занимает?
Некоторые простые приложения и обновления версии могут быть решены, если только 6 человек нажимают кнопку «Утвердить» в Outlook. Более сложные или противоречивые могут ждать нашей групповой встречи каждые две недели. О некоторых приложениях можно обсуждать на более чем одном из этих совещаний, когда команды берут вопросы о приложении и проводят исследования / тестирование.
Какие модели лицензирования вы предпочитаете (переносимые, на место, на процессор, для всего сайта)?
Все зависит от того, как приложение будет использоваться, и от того, сколько людей. Самое главное, что ваше лицензирование четко определено. Мы должны направлять наших сотрудников (хотя и бесплатно) на курсы, чтобы разбираться в лицензировании Microsoft. Мы не собираемся делать это для ISV.
Примите во внимание наши потребности автоматической установки, когда речь идет о лицензировании. Если ваши лицензии требуют активации, нам не нужно звонить вам по электронной почте каждый раз, когда мы переустанавливаем приложение на ПК. Если для каждой копии приложения требуется отдельный отдельный лицензионный ключ, то мы не сможем развернуть его автоматически, тогда как, если мы сможем купить массовый (2, 10, 50, 500 и т. Д.) Ключ, который можно сохранить в тихая установка, тогда мы счастливы. Еще лучше, если мы сможем вернуться к вам через год и договориться об увеличении количества лицензий, не меняя ключ, введенный в программное обеспечение.
Что еще могут сделать независимые поставщики программного обеспечения, чтобы повысить свои шансы на одобрение программного обеспечения?
Мы также рассмотрим вещи, которые не связаны строго с тем, как ваше приложение в данный момент. Принимая во внимание, что если ваше приложение станет частью стандартного рабочего процесса для одной из наших областей, оно может использоваться в течение 10 или более лет, так как будет выглядеть дорожная карта вашего продукта? Если вы еще не поддерживаете новейшую совершенно новую или разрабатываемую версию Windows, есть ли у вас план, когда вы это сделаете? Похоже ли вы придерживаться этих дорожных карт? Похоже, у вас есть какие-либо планы радикальных изменений в вашем приложении, будь то способ его работы или используемые им технологии / структуры? Подключается ли ваше приложение к каким-либо другим приложениям, например, MS Office или IE, и если да, насколько терпимо оно к старым или новым версиям этих приложений?