Как замедлить индикатор выполнения установки в установщике WiX Toolset?
Ну, я не шучу...
мой клиент хочет, чтобы я замедлил процесс установки. Аргументация ясна: если клиенты платят за программное обеспечение столько же, сколько машина среднего класса, они ожидают чуть более 3 секунд. процесс установки...
Есть идеи?
4 ответа
Опыт установки и запуска приложения являются инструментами маркетинга, а сама установка в техническом смысле не является. Это просто дамп файла и некоторые изменения в реестре, и вам нужно отогнать всех маркетологов от вмешательства в его техническую работоспособность. Все остальное принадлежит им для продажи продукта.
Важно помнить, что опыт установки - это первое знакомство пользователейс качеством вашего продукта. Если это не удается, продукт не может быть оценен вообще. Это самая дорогая ошибка, которую можно совершить при разработке программного обеспечения, и это легко сделать, если вы возитесь с наворотами.
Следуйте предложениюТома Блоджетта и сделайте первый запуск приложения "умнее", предоставив больше информации о том, как использовать программное обеспечение, какие функции оно предоставляет и тому подобное, и упростите настройку. Я видел успешное использование автоматизации приложений с помощью мастера, такого как генерация данных, представления для демонстрации функций приложения, панели приложений с онлайн-справкой и голосом за кадром. Все виды вещей, которые могут помочь людям быстро работать.
Вот пост с некоторыми абстрактными идеями по вопросу развертывания программного обеспечения как темы, к которой нужно относиться всерьез, как нарушителю условий для отличного в остальном программного обеспечения. И проблема лицензирования, и того, как оно реализовано, также является темой, которая вызывает много проблем для успеха программного обеспечения.
Наконец - и это важно - проблема в том, что корпорации требуют установки вашего программного обеспечения в автоматическом режиме, чтобы они полностью одобрили ваше программное обеспечение в своей сети. Фактически, правильная установка без вывода сообщений и стратегия развертывания могут сделать ваше программное обеспечение предпочтительным по сравнению с другим аналогичным программным обеспечением. Степень, в которой это важно, варьируется в зависимости от ориентации вашего программного обеспечения и типа пользователя, но это всегда должно быть сделано правильно, чтобы ваши настройки не были проблемой маркетинга и продаж в долгосрочной перспективе. Окончательный вывод из всего этого заключается в том, что если ваше программное обеспечение предназначено для крупных корпораций, вам не следует тратить свои усилия на разработку расширенного графического интерфейса для вашей установки, поскольку его, вероятно, никогда не будут использовать в сценариях крупномасштабного развертывания. Скорее вы должны параметризовать ваш установщик с помощью общих свойств, которые можно установить в командной строке или с помощью преобразования, чтобы вашим установщиком можно было легко управлять, не запуская его в интерактивном режиме. Смотрите этот пост: Как лучше использовать файлы MSI.
Одна из техник, которую я использовал для тестирования, заключалась в написании DLL-библиотеки с настраиваемым действием, которая поочередно спала и увеличивала индикатор выполнения. А потом он запустил его в обратном направлении, потому что я тестировал внешние интерфейсы, но вы могли пропустить эту часть. См. MsiProcessMessage для C/C++ API - в частности, посмотрите на INSTALLMESSAGE_PROGRESS
и раздел Замечания, и, возможно, INSTALLMESSAGE_ACTIONSTART
а также INSTALLMESSAGE_ACTIONDATA
если вы хотите показать изменяющийся текст прогресса в то время.
Я не могу себе представить намеренно поместить это в реальную установку (так что, возможно, дать ему легко отключить условие), но это действительно напоминает мне о времени, когда я должен был поместить мультисекундный экран-заставку на демонстрационную версию, которая заняла менее секунды загрузить...
Вы можете пойти в другом направлении: автоматически запустить приложение в конце установки с сообщением:
Начальная настройка завершена. Вы можете начать использовать приложение прямо сейчас. Дополнительные функции будут установлены в фоновом режиме по мере необходимости.
Сравните с установщиком Office 365. (Но обязательно предоставьте административную установку, которая окончательно выполнит "полную установку".)
Это странная просьба, учитывая, что все мы пытаемся как-то ускорить процесс. Имеет смысл, хотя:)
В любом случае попробуйте использовать настраиваемое действие ССЫЛКА " Выполнение"
Что-то вроде этого:
<Property Id="QtExecCmdLine" Value="command line to run"/>
<CustomAction Id="QtExecExample" BinaryKey="WixCA" DllEntry="CAQuietExec" Execute="immediate" Return="check"/>
.
.
.
<InstallExecuteSequence>
<Custom Action="QtExecExample" After="TheActionYouWantItAfter"/>
</InstallExecuteSequence>
Измените строку "Командная строка для запуска" на выше, чтобы сделать что-то вроде: "ping -n 5 localhost". -n 5 попробую сделать пинг 5 раз. Или вы можете использовать TIMEOUT.
Надеюсь, поможет.