Плюсы и минусы использования Windows Active Setup

Каковы известные плюсы и минусы использования Windows Active Setup для развертывания? Microsoft рекомендует / поддерживает использование активной настройки?

Если вам интересно, вот контекст: я работаю над надстройкой Outlook 2003 VSTO. Программа установки этого надстройки создает несколько записей реестра либо в HKCU, либо в HKLM, в зависимости от установки «Однопользовательская» или «Все пользователи». Мы не планируем использовать установку «Все пользователи», поскольку надстройки, установленные для всех пользователей, не отображаются в списке надстроек COM в Outlook. Альтернативный подход - использовать активный набор для установки для одного пользователя.


person Deepak N    schedule 29.05.2010    source источник


Ответы (1)


Некоторое время назад я опубликовал небольшую статью , сравнивающую различные методы настройки записей реестра HKCU. из пакета установщика Windows: Использование самовосстановления в ваших интересах.

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

Навскидку, я не могу придумать каких-либо недостатков использования техники ActiveSetup, за исключением, возможно, того, что она требует немного большей предусмотрительности при создании или обновлении пакета MSI.

person ewall    schedule 10.06.2010
comment
Спасибо. Как вы справляетесь с удалением программного обеспечения с помощью подхода, упомянутого в вашей статье. * Предположим, что Пользователь1 устанавливает продукт для всех пользователей. * Пользователь2 при входе в систему запускает восстановление с помощью msiexec и добавляет записи HKCU. * Пользователь1 входит в систему и удаляет продукт. Проблема в том, что записи HKCU не удаляются для пользователя User2. Как убедиться, что при удалении очищаются все реестры пользователей. [Я пробовал вариант, когда User1 устанавливает Just Me. Когда User2 входит в систему, восстановление msiexec завершается неудачно, так как он не может найти продукт] - person Deepak N; 11.06.2010
comment
Я не знаю надежного способа очистить все ключи HKCU при деинсталляции ... но у многих, многих программ есть эта проблема, и с этим ничего не поделать. (Что касается ситуации, в которой вы установили программу под User1 для Just me, то обычно программа полностью недоступна для других, таких как User2, поэтому я ожидаю, что восстановление не удастся. Но если вы установите ее для всех на этом компьютере, тогда другие пользователи могут запустить его и получить свои записи реестра HKCU с помощью самовосстановления или ActiveSetup.) - person ewall; 11.06.2010
comment
Я не смог найти в msdn документации по Active Setup и подробностей о журналах, созданных активной установкой для устранения неполадок. Есть ли альтернатива активной настройке и самовосстановлению для управления установкой для каждого пользователя. - person Deepak N; 14.06.2010
comment
Я понимаю ваше нежелание использовать недокументированную функцию. С одной стороны, есть вероятность, что Micro $ 0ft может изменить его в будущей ОС ... но с другой стороны, он существует уже давно и используется многими программами, поэтому они, скорее всего, продолжат его поддерживать. на годы или навсегда. Глядя на HKLM \ Software \ Microsoft \ Active Setup \ Installed Components на компьютере, который я использую сейчас, я насчитал 56 компонентов с помощью ActiveSetup! Если бы M $ изменил ActiveSetup, это привело бы к поломке многих программ, многие из которых являются их собственными. - person ewall; 15.06.2010
comment
Что касается альтернатив ... хм. Что ж, один из способов, который я видел, - это небольшая программа (может быть, в системном трее или невидимая), которую установщик настраивает для запуска для всех пользователей (через папку Startup в меню Пуск или ключи реестра RunOnce) . Затем эта программа отвечает за настройку конфигурации HKCU каждого пользователя и т. Д. Другие могут полностью пропустить настройки реестра и вместо этого использовать файл .INI - таким образом, при первом запуске программы пользователь создаст свой личный файл .INI (возможно, в их папку Application Data), скопировав из шаблона all users / default. - person ewall; 15.06.2010
comment
Большое спасибо за ваши предложения. Думаю, другого $ стандартного способа добиться этого нет. Придется скрестить пальцы с активной настройкой. - person Deepak N; 20.06.2010