0

ФОНDeploy MSI заблаговременно программное обеспечение групповой политики Установить

Моей программы развертывается через нашу сеть с помощью групповой политики, используя стандартный инсталлятор MSI с некоторыми пользовательскими действиями, которые регистрируют, что программное обеспечение фактически развернуто.

Все это очень просто и стандартно. Это большое приложение для Windows, и все файлы сбрасываются в папку приложения, для всех пользователей на рабочем столе и в меню «Пуск» выполняется ярлык. Все счастливы. Он работает как часовой механизм, объект GPO установки программного обеспечения не вызывает у меня никаких проблем. При одной или двух перезагрузках новые версии устанавливаются/обновляются с легкостью. Это не всегда было так просто, но я сделал это так.

ПРОБЛЕМА

Однако есть некоторые случаи, когда я просто хочу выпустить обновление немедленно без командует рестарт. Мне было интересно, если я могу просто позволить мое приложение обеспечивает простой способ для:

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

Я не хочу, чтобы это влияет на текущую конфигурацию MSI слишком много, так как он должен работать над Установка GPO. У Firefox нет аналогичного механизма обновления?

Являются ли MSI достаточно умными, чтобы узнать, когда они уже установлены? Например, если мое приложение выполняло такую ​​процедуру, когда компьютер перезагружается, он игнорирует развертывание объекта групповой политики? Если я затем выпущу обновление для следующей версии, он удалит мою установленную вручную версию и перезапишет ее версией GPO?

Я просто стучу в виртуальную машину, чтобы попробовать это, но было бы неплохо узнать, есть ли у кого-нибудь опыт в этом.

Спасибо! Tom

ответ

0

Изменения и обновления в объекте групповой политики выполняются только при запуске и/или входе в систему. Это то, что вы не можете изменить. Это ограничивает способы установки программного обеспечения объектами групповой политики. На самом деле это возможно только при запуске ПК. Имейте в виду, что объекты групповой политики применяются с учетной записью администратора.

Когда пользователь запускает ваше приложение, эта учетная запись ограничивается правами пользователя. Это делает невозможным установку/изменение/удаление программного обеспечения. Простые пользователи не могут работать такого рода. Имейте в виду, что существуют ограниченные права и UAC в Vista или более поздней версии.

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

Узел конфигурации системного центра Microsoft может установить программное обеспечение без перезагрузки GPO. Он может это сделать, потому что он использует службу.

Возможно, вы можете переключиться на SCCM для установки/обновления вашего программного обеспечения.

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

С правильными кодами обновления и проверками в вашем msi эти обновления не перезаписываются при следующей перезагрузке.

Другое решение: Мы используем AIP (Admin Installation Point). Этот AIP развертывается на клиентском ПК через объект групповой политики.

Наше программное обеспечение имеет небольшую оболочку, которая запускается при запуске программы. Эта оболочка проверяет номера версий. Если AIP исправлен, оболочка переустанавливает основной компонент/функцию нашего приложения.

Эта оболочка использует установщик Windows (COM) -API. Я использую функцию ReinstallFeature и/или ReinstallFeature, в зависимости от FeatureState.