Как определить причину повторного самовосстановления установщика Windows? - PullRequest
9 голосов
/ 31 марта 2011
  • Как можно регистрировать только изменения, вызывающие переустановку MSI-файла, созданного Installshield 2008, через " self-repair "?
  • В чем причина самовосстановления?
  • Как отключить самовосстановление MSI с помощью Installshield 2008?

1 Ответ

16 голосов
/ 20 мая 2011

Самовосстановление, простое и краткое объяснение : Почему установщик MSI переконфигурируется, если я удаляю файл?


Доступен альтернативный ответ

ОБНОВЛЕНИЕ : Доступен более короткий и более сфокусированный ответ , возможнопопробуйте сначала.Этот ответ фокусируется на «понимании самовосстановления», а не на объяснении шагов, которые необходимо предпринять для устранения проблемы.Возможно, вы захотите прочитать и первый раздел этого ответа.


Неожиданные проблемы самовосстановления установщика Windows - Быстрое исправление?

Эта «статья» стала большой и несколько не читаемой,Вот недавно написанная преамбула - короткая « версия временного решения » для исправления неожиданного самовосстановления (часто встречается в VB6, Visual Studio, MS Office, MS Outlook, AutoCAD и т. Д. ...)

  • Если вы испытываете неожиданное самовосстановление , Первое, что вы можете попробовать , это вручную создать ярлык на рабочем столе непосредственно в исполняемом файле приложения.вы запускаете, когда возникает проблема.Это обходит самый распространенный триггер самовосстановления, « рекламируемый ярлык ».Если это работает, ваша проблема «решена» (или ее избегают). Вот краткое, подробное объяснение
  • Если проблема все еще возникает или ваша проблема связана с загрузкой MS Office , MSНадстройка Outlook или аналогичная (которую вы не можете запустить с помощью ярлыка), тогда, скорее всего, у вас конфликт регистрации COM в вашей системе, и исправление гораздо сложнее. Самый простой , который нужно попробовать - это отключить любые надстройки , которые вам не нужны в диалоге надстроек рассматриваемого приложения, и посмотреть, не устранит ли это проблему
  • Если вы все еще видите проблемы, то вам чаще всего нужно отлаживать подлинный конфликт регистрации COM (или конфликт файлов / MIME-ассоциаций, или командные глаголы).Обычно это включает в себя (как минимум) два конфликтующих приложения в вашей системе, которые «борются с этим», обновляя реестр при каждом запуске после запуска другого приложения (всегда запуск одного из приложений не вызовет самовосстановление - конфликт возникает, когдавы чередуете приложения).Также возможно, что проблемы с разрешениями приводят к тому, что одно и то же приложение не может обновить систему, и оно продолжает бесконечно пытаться, многократно запуская самовосстановление.И есть другие возможности, более подробная информация ниже
    • « реальное исправление » должно связаться с обоими поставщиками приложений и и попросить их исправить проблему (поскольку исправление часто требует исправления MSI обоих поставщиков), но, по моему опыту, это редко бывает успешным.Попробуйте, хотя - это способ помочь всем с давним раздражением!Я лично предоставил установку с исправлениями для банковского развертывания и был очень рад, что проблема была решена в моем пакете
    • Чтобы отладить себя, вам нужен инструмент для открытия кэшированных файлов MSI в системеи вам нужно «взломать» базу данных - очень сложная задача , требующая навыков эксперта , вам посоветовали бы обратиться за помощью к специалисту по установке, если проблема очень серьезна для вашей рабочей среды.Это может работать, но не ожидайте чудес.
    • Пожалуйста, обратитесь к разделу ниже под названием " Поиск триггера или виновника для самовосстановления " для получения дополнительной информации о получении инструмента для просмотра.и измените файлы MSI

В остальной части «статьи» подробно рассматриваются проблемы самовосстановления.Есть много других потенциальных причин самовосстановления, чем описано в этом «коротком» разделе.


Общая проблема: отладка и самовосстановление разработчика

Установщик Windows - это технология развертывания , его задача - установить указанные файлы и параметры реестра и сохранить их в указанных местах установки и убедиться, что они являются правильные версии - самовосстановление или отказоустойчивость - механизм для достижения этой цели. Его работа конфликтует с разработчиками, которым нужно обмениваться файлами на лету для отладки, разработки и тестирования.

Соответственно, многие самовосстанавливающиеся (отказоустойчивость) запускаются просто разработчиками, пытающимися отладить их установленное приложение и файлы горячей замены на лету. См. Раздел 2 в « Некоторые типичные сценарии проблемы самовосстановления » ниже, чтобы узнать, как с этим справиться. В других случаях в MSI есть подлинных ошибок проектирования, которые необходимо исправить, или ошибок системного администрирования , которые приводят к самовосстановлению - и иногда источник ошибок может быть трудно найти.

Я написал о проблеме самовосстановления в ответ на serverfault.com . Несколько иные слова, предназначенные для системных администраторов , и чтение их сейчас может быть более доступным объяснением, чем это длинное (предназначенное для разработчиков). Здесь также есть другой, более короткий ответ о stackoverflow: Почему установщик MSI переконфигурирует, если я удаляю файл? (это, вероятно, самый короткий и самый простой для понимания). И наконец я нашел очень хорошую статью о самовосстановлении Vadim Rapp : Как исправить попытки установщика Windows самостоятельно восстановить . Эту статью стоит прочитать.

Самовосстановление не произойдет, если установщик Windows определит, что запускаемый продукт правильно установлен. Когда происходит самовосстановление, для правильной работы приложения необходимо что-то изменить в системе.


Основные причины самовосстановления

Детали представлены ниже в разделе " Некоторые типичные сценарии проблем самовосстановления ", но в виде быстрого, предвидящего списка - основные причины являются:

1. Плохо упакованные корпоративные файлы MSI или недостатки дизайна MSI от поставщика (сам пакет MSI плохо спроектирован и неожиданно вызывает самовосстановление по ряду причин)

  • Чрезмерное или ошибочное использование файлов на пользователя или ключей реестра на пользователя часто с ошибочными путями ключей, заданными в профиле пользователя (вместо HKCU). См. Раздел 5 ниже для более подробной информации (и цветной иллюстрации такой ситуации)
  • Пакетные помехи от ошибочная регистрация COM-сервера (в частности VB6 COM-файлы или VBA-файлы и библиотеки от таких продуктов, как AutoCAD от Autodesk и аналогичные продукты).
    • Два пакета MSI регистрируют один и тот же COM-файл (ActiveX / OCX) из двух разных мест и проводят «самостоятельную борьбу» при каждом запуске приложения, чтобы правильно зарегистрировать их версию.
    • Последнее приложение, которое запускается, устанавливает для себя право реестра, и оно длится до тех пор, пока другое приложение не запустится и не сделает то же самое. Как только вы переключаетесь между приложениями, возникает проблема. См. раздел 7 ниже для более подробной информации о самовосстановлении VB / COM
  • Путь к ключу компонента установлен в пустую папку , которую установщик Windows удаляет при самовосстановлении (запускает бесконечный цикл удаления и последующее самовосстановление)
  • блокировка ACL проблемы с правами доступа (вошедший в систему пользователь не может получить доступ к файлу ключа, и установщик Windows запускает восстановление несколько раз). Это также может быть вызвано внешними изменениями ACL, но часто выполняется самим MSI
  • Вот работа на serverfault.com, описывающая типичные недостатки MSI

2.Файлы или ключи реестра удаляются из-за вмешательства внешних причин, начиная от сценариев (входа в систему) и заканчивая стандартными функциями ОС, вирусами, программным обеспечением безопасности и т. Д. ...

  • Временные файлы автоматически удаляются Windows после ошибочной установки во временную папку пакетом MSI
  • Помехи из-за плохого входа в систему и запускают сценарии счастливой очистки и приложения для очистки
  • Антивирусные приложения блокировка или удаление файлов или разделов реестра, чтобы установщик Windows больше не мог их обнаружить или получить к ним доступ
  • Компьютерные вирусы изменение или удаление файлов и настроек реестра
  • Сверхактивные компьютерные мошенники и пользователи удаляют файлы и настройки, которые они не понимают

3.Изменения, недостатки или ограничения дизайна Windows, приводящие к некорректному или проблематичному развертыванию

  • Пакет MSI, объявленный AD, не удается установить (может быть отменен, так как это занимает слишком много времени дляустановить) и продолжает глючить людей.Строго говоря, это не самовосстановление, а объявленная установка, которая прервана, но результат тот же: бесконечная переустановка
  • Терминальный сервер сложности.Самовосстановление вообще отключено на терминальных серверах.Обычно это не вызывает проблем с самовосстановлением, но приложение устанавливается без необходимых файлов или ключей реестра для каждого пользователя, которые могут быть добавлены с помощью самовосстановления (см. Ниже).Пользовательские файлы и разделы реестра пользователей тогда просто отсутствуют, и в результате возникают
  • помехи UAC , сбой проверки сертификата и другие проблемы, возникающие в результате изменений конструкции Windows .Для каждой версии Windows такие функции безопасности добавляются и обычно заканчиваются добавлением новых препятствий для надежного развертывания
  • Даже некоторые Обновления Windows (обновления, обновления безопасности, исправления и т. Д.)может внести радикальные изменения в способ обеспечения безопасности для пакетов MSI и, следовательно, вызвать крайне проблемное поведение
    • Хотя это относится к созданию MSI, а не в первую очередь к его использованию конечным пользователем, Windows Update KB3004394 который обновляет способ проверки Windows на отозванные корневые сертификаты , ломает старую версию сборки командной строки Installshield (для установок с цифровой подписью).В настоящее время это в основном решенная проблема, но иллюстрация того, как Microsoft продолжает изменять основные функциональные возможности MSI
    • Аналогичным образом Installshield аварийно завершил работу для многих пользователей после установки обновления Microsoft MS14-037 «Обновление безопасности дляInternet Explorer версий 6, 7, 8, 9, 10 и 11 ”(KB2962872)
    • чрезвычайно проблематичное изменение в базовой функциональности установщика Windows после установки kb2918614 (Vista). Внезапно для простой операции восстановления MSI потребовались учетные данные администратора .Это в целом победило основное преимущество MSI: способность обычных пользователей запускать утвержденные установки с временными правами администратора .После установки этого исправления были и другие проблемы с MSI.Похоже, другое обновление Windows исправило проблемы: kb3008627 (позже заменено на kb3072630)

О самовосстановлении

Установщик Windows предназначен для установки двоичных файлов вашего приложения, файлов настроек и данных, их установки и обеспечения правильности версий.Самовосстановление является механизмом для достижения этой цели.Общая концепция называется отказоустойчивость , т. Е. Неисправная установка вызывает самовосстановление до запуска приложения.

Устойчивость , или самовосстановление, является встроенной основной концепцией установщика Windows и нельзя отключить любым способом, которыйбезопасно.Иногда люди делают самые невероятные вещи , например , отключая весь механизм установщика Windows , чтобы остановить их самовосстановление.Это, очевидно, никогда не должно быть сделано.Необходимо устранить причину исправления и устранить проблему, а не создавать новые или взломать систему.

Каждый раз, когда вы запускаете объявленный ярлык (по сути, это специальный ярлык, который указывает на функцию установщика Windows, а не на файл), установщик Windows проверит установку, проверив " пути к ключам компонентов " для вашего продукта.Если обнаружено несоответствие, запускается ремонт для исправления неполной установки.«Пути ключей компонентов» - это «файлы ключей», указанные для компонентов внутри MSI - для каждого компонента существует один.Самовосстановление также может быть инициировано тем, кто создает экземпляр COM-сервера (или пытается), кто-то активирует файл через расширение его файла или регистрацию MIME, и несколькими другими способами.Вот исчерпывающая статья Symantec на тему «точки самовосстановления»: Инициирование функций самовосстановления и рекламы с помощью точки входа .

Если файлы удалены, перемещены или простоПри перезаписи (вручную пользователем или каким-либо другим образом автоматически) может произойти самовосстановление (если параметр файла или реестра не задан, так как путь восстановления ключа не запускается).


Поиск триггера или виновника для самовосстановления

Триггер для самовосстановления обычно можно найти в программе просмотра событий в системе, где выполнялся самовосстановление.Выполните следующие действия, чтобы открыть средство просмотра событий :

  • Щелкните правой кнопкой мыши «Мой компьютер»
  • Нажмите Управление
  • Нажмите «Продолжить», если получитеЗапрос UAC
  • Перейдите в раздел «Просмотр событий» и проверьте журналы Windows

В качестве альтернативы вы можете сделать: Пуск => Выполнить ... => eventvwr.exe только для просмотра событий.Если вы не видите прогон в меню «Пуск», нажмите WINKEY + R .

enter image description here

  • Посмотрите на« Раздел приложения » журнала событий, и вы должны найти предупреждения из источника событий «MsiInstaller» с идентификаторами 1001 и 1004
  • На примере снимка экрана выше код продукта отображается внутри красной рамки
  • Чтобы определить, для какого продукта предназначен код продукта, вы можете найти название продукта с помощью процедуры, описанной здесь: Как я могу найти GUID продукта установленной установки MSI?
  • Если вы действительно хотите углубиться и проверить фактическое содержимое файла MSI, вы должны получитьсредство, способное просматривать MSI-файл (, например Orca, Installshield, Advanced Installer или аналогичный ).Затем вы открываете пакет, указанный в списке путей «LocalPackage», как показано на снимке экрана, найденном в ответе, указанном в предыдущем пункте.
  • Фактическое изменение файла MSI с кэшированием в системе и / илиРеестр для удаления объявленных точек входа, таких как (объявленные) ярлыки, регистрация COM, ассоциации файлов, ассоциации MIME или командные глаголы, является задачей специалиста.Это очень сложная и не очень хорошая практика, но это единственное «последнее средство», о котором я знаю.
  • Наконец, приложение может явно вызывать сам установщик Windows для запуска самовосстановления для общих компонентов.- например, проверка орфографии.Я полагаю, что некоторые версии Microsoft Access сделали это, и это поведение нельзя изменить или обойти, насколько мне известно.

MSI-expert и MVP Стефан Крюгер имеет статью об этой же проблеме самовосстановления.И он решительно обсуждает фактические записи в журнале событий и что они значат. Пожалуйста, ознакомьтесь с фактической процедурой отладки там .


Некоторые типичные сценарии проблемы самовосстановления:

Это "подробное объяснение""нескольких сценариев проблем с самовосстановлением, уже описанных в обзоре выше.

  1. Компонент путь ключа установлен в пустую папку , которую установщик Windows удаляетна самовосстановление (запуск бесконечной петли снятия и последующего самовосстановления).Чтобы решить эту проблему, добавьте папку в таблицу CreateFolder ( Wix-эквивалент ).По моему опыту это самый распространенный сценарий нежелательного самовосстановления. Очень часто .
  2. Многие проблемы самовосстановления на самом деле вызваны разработчиками, пытающимися отладить свои приложения путем замены файлов на лету, удаления файлов или переименованияих.Или они могут использовать сценарии очистки реестра и / или пакетных сценариев для отмены регистрации и регистрации файлов COM, COM-Interop, файлов GAC, ассоциаций файлов или других общих задач отладки и разработки разработчика.

    • Эта горячая замена может запускать самовосстановление, когда приложение запускается с помощью объявленного ярлыка.

    • Главный совет для разработчиков , борющихся с самовосстановлением во время отладки приложений в не запуске приложения из объявленного ярлыка , но для запуска основного EXE-файла непосредственно из Проводника Windows или из созданного вручную ярлыка.Это обойдёт наиболее распространенную « точку самовосстановления входа » - объявленный ярлык .Самовосстановление может все еще быть результатом неправильных данных COM, объявленных ассоциаций файлов и некоторых других особых случаев ( Прочтите эту статью Symantec для получения информации о точке входа).

  3. Другие приложения или, скорее, другие пакеты MSI могут нарушить вашу установку и вызвать самовосстановление, вмешиваясь в данные реестра - как правило, в настройки COM, но также и в другие настройки и файлы.,Это могут быть некоторые из самых сложных случаев, которые необходимо решить, поскольку приложения в основном борются с этим, и последний из них будет обновлять реестр каждый раз.Как правило, оба файла MSI должны быть переработаны, чтобы приложения работали на одном компьютере.Или, как обычно, можно виртуализировать все приложение (например, виртуальные пакеты Microsoft App-V ) и запускать в своей собственной песочнице, что, похоже, все больше и больше делается вкомпании в эти дни.Этот сценарий ошибки часто встречается с набором плохо перепакованных приложений в корпоративной среде .Фрагменты COM из разных пакетов перезаписывают путь к диску COM-сервера из другого пакета, и при каждом запуске приложения с помощью объявленного ярлыка происходит борьба с самовосстановлением.Одно и то же имя файла с разными версиями файлов также может быть зарегистрировано в разных местах файлов и совместно использовать некоторые параметры реестра, которые мешают.Насколько я помню, как минимум 7 переменных или настроек в файловой системе и реестре должны быть синхронизированы, чтобы COM-сервер мог быть правильно создан.См. раздел 7 ниже для более специализированного описания помех COM в контексте приложений VB6 и VBA COM.

  4. Путь к ключу компонента указывает на временный файл , который был удален приложением или он будет в конечном итоге удален системой с помощью какого-либо механизма очистки (также может быть инструментом очисткитакие как ccleaner).Это обычно для файлов в самой папке temp.Это решается тем, что вы не устанавливаете временный файл или не помещаете файл в другое место и не делаете его постояннымЯ чаще всего видел эту ошибку в мире переупаковка корпоративных приложений , где неправильная очистка захваченного изображения приводит к установке временного файла, который вообще не должен был быть включен в пакет.Часто это могут быть временные файлы, ожидающие перезагрузки для установки в их предполагаемом, возможно, защищенном месте, и перезагрузка никогда не выполнялась - обычная ошибка упаковки приложений.В меньшей степени я видел это в автоматически генерируемых пакетах , выходящих из автоматизированных систем сборки.

  5. Проблемы с правами доступа : если ключФайл для компонента устанавливается в место, недоступное для пользователя, который вызывает приложение.Установщик Windows может не «видеть» путь к установленному файлу / ключу или не может добавить файл в папку.Эти проблемы могут быть более экзотическими для отладки , и могут случаться не так часто.Существует несколько вариантов этой проблемы:

    • Примером этого является установка файла по пути % USERPROFILE% , а затем забытие установить путь к ключу реестра HKCU ивместо этого установите ключевой путь так, чтобы он указывал на папку / файл% USERPROFILE%.Обычно это приводит к недоступному жестко закодированному пути ключа, который зависит от пользователя: C: \ Documents and settings \ user1 \ Desktop .Этот путь не будет найден для другого пользователя, вошедшего в систему, и самовосстановление выполняется по кругу.Вот цветная иллюстрация .
    • Другой пример - ключевые пути, заданные для папок, которые недоступны для записи для системной учетной записи.Это может показаться экзотическим, но может быть результатом неправильной модификации записей ACL системы MSI, странной настройки безопасности системного администратора или любого другого нестандартного дескриптора ACL / Security.
  6. Другой класс проблем самовосстановления возникает в связи с терминальными серверами и Citrix .Вся служба установки Windows может быть заблокирована, поэтому любой самовосстановление, вызванное для добавления данных на пользователя, может дать сбой, и, следовательно, самовосстановление может завершиться неудачей или, скорее всего, вообще не будет выполнено.Это является достаточной причиной, чтобы не полагаться на самовосстановление как способ добавления пользовательских данных, как это делают некоторые файлы MSI, и такие конструкции должны быть заменены развертыванием приложений пользовательских файлов, скопированных из расположений на компьютере, или менее эффективных ActiveSetup Функция от Microsoft, которая запускается один раз для пользователя.

  7. Приложения VB6 и Приложения VBA , которые в значительной степени на основе COM с огромным потенциалом для COM-помех (настройки COM перезаписывают друг друга и становятся несовместимыми), как известно, вызывают несколько загадочных проблем самовосстановления, большинство из которых не былоправильно объяснил.Это также может произойти при запуске Visual Basic 6 (VB6) или Visual Studio (и многих других приложений).Общим знаменателем является то, что какая-то ошибка в текущем состоянии установки вызвала самовосстановление, и вы можете отследить виновный продукт и компонент , выполнив действия, описанные в разделе выше под названием " Поисктриггер или виновник самовосстановления". Обязательно сообщите здесь свои выводы (я больше никогда не использую VB6 или VBA - ваши подробные результаты могут помочь другим с давней досадой).

    • Хотя я никогда не детально отлаживал такие проблемы VB6, может показаться, что проблемы возникают из-за приложений, которые устанавливают общие элементы управления , VB6 COM-файлы , шаблоны и VBA-файлы и библиотеки , конфликтующие с существующими файлами, настройками реестра и регистрациями на коробке, или некоторые разделы реестра для отдельных пользователей или файл userprofile, возможно, потребуется добавить один раз для каждого пользователя (разрешить самостоятельноеремонт завершить один раз и посмотреть, исчезнет ли проблема).В частности, я слышал об этих таинственных проблемах самовосстановления при запуске AutoCAD (от Autodesk), Visual Basic 6 и некоторых других продуктов (часто с автоматизацией VBA, доступной в инструменте),
    • Некоторые приложения даже ошибочно устанавливают фрагменты из среды выполнения VB6 самостоятельно, в результате чего эти параметры «удаляются» при удалении этих приложений.Это, безусловно, может привести к самовосстановлению, чтобы исправить (частично?) Сломанную среду выполнения VB6.Существует несколько вариантов этой проблемы, и решение «перехватить все» - это, вероятно, полная деинсталляция и переустановка среды выполнения VB6. Вот описание очень распространенной «специфической» проблемы, связанной с несколькими ключами реестра COM .Это хорошо иллюстрирует, что происходит в этом сценарии.
    • Если вы столкнулись с неожиданным самовосстановлением при запуске VB6 , AutoCAD , Visual Studio или другихпродукты, вы можете сначала попробовать обходной путь , чтобы предотвратить неожиданное самовосстановление в первую очередь (это не решает проблему, но может обойти ее симптомы): почемузапускается ли установщик Windows каждый раз, когда я запускаю visual basic 6
    • См. мой комментарий к вопросу в этой теме об одном из наиболее типичных самовосстановлений в стиле VB6: Почему мое приложение вызывает установщик другого приложения? (элемент управления ActiveX зарегистрирован дважды из двух разных мест на диске).
    • По моему мнению, " общее исправление «- это должно работать всегда - для вопросов самовосстановления VB-COM - заставить поставщика обновить свой проект, чтобы использовать последнюю официальную, правильно установленную и совместно используемую ActiveX cДоступен ontrol / OCX, и не стоит полагаться на собственную версию, установленную избыточно и зарегистрированную в неверном месте.
  8. Особый случай восстановления или самовосстановления установщика Windows, о котором стоит упомянуть для полноты, был проблемой с Microsoft Office несколько лет назад, когда самовосстановление будет запущен, и вам будет предложено вставить установочный носитель Microsoft Office (в те времена компакт-диски или DVD-диски - сегодня, возможно, флэш-накопители).Насколько я помню, это было связано с ошибочным вызовом встроенного стандартного действия установщика Windows " ResolveSource ", который неожиданно (и без необходимости) вызвал запрос на установочный носитель. очень распространенный звонок в службу поддержки назад в тот день и упомянутый здесь для полноты.Важно отметить, что эта проблема все еще может возникать всякий раз, когда MS Office устанавливается с любого съемного носителя (а не лучшего варианта сетевого ресурса ).Это происходит, когда MS Office обнаруживает, что ему необходимо установить дополнительные, необязательные (и обычно совместно используемые) компоненты продукта, которые не были установлены изначально.Например, необычные средства проверки правописания, различные шаблоны или специальные и редко используемые инструменты.Эти компоненты можно установить для «установки при первом использовании» (рекламируемые функции - это правильный термин установщика Windows).

  9. Существует множество других возможных сценариев.Вот несколько примеров:

    • сценарий неудачного входа в систему может удалить объекты в системе и вызвать самовосстановление
    • и объявленный пакет AD может не работать для установки и продолжения ошибок людей
    • могут запускаться два приложения бороться за одинаковые ассоциации файлов
    • компьютер мошенники и хакеры могут вручную удалять данные, которые запускают самовосстановление
    • Антивирус может помещать в карантин файлы и параметры реестра , которые вызывают восстановление
    • вирус может изменять или удалять вещи и запускать самовосстановление
    • a средство очистки диска и реестра , такое как ccleaner, может удалять файлы и запускать самовосстановление
    • и, без сомнения, множество других сценариев ...

Доброкачественные использует для самостоятельного ремонта

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

  • Самовосстановление иногда используется для добавления пользовательских данных в HKCU и профиля пользователя . Этот дизайн в основном работает, но ухудшается для каждой версии Windows, поскольку для развертывания создаются новые препятствия. Во-первых, самовосстановление обычно не работает на терминальных серверах , что делает настройку неполной. Хотя это и не является темой этого обсуждения, лучше, чтобы приложение копировало файлы в места для каждого пользователя. Еще одна проблема - UAC. Другие проблемы появляются с каждой новой версией Windows и даже с некоторыми обновлениями Windows, как описано выше (перенаправления виртуальных папок, запросы сертификатов, ранее отсутствовавшие ограничения целевого пути и т. Д.).
  • Когда требуется самовосстановление для настройки пользовательских данных , может потребоваться так много времени, что пользователь прерывает его и продолжает это делать . Это приводит к тому, что самовосстановление повторяется все время, пока оно не завершится. Общий звонок в службу поддержки .
  • Также возможно установить продукт с " объявленными функциями ", которые предназначены для установки " по требованию ", сработавшими во время использования приложения. Немногие приложения используют это, но когда он используется, может запуститься длительный инсталлятор «в стиле самовосстановления» - сносит необходимые файлы и настройки. Если этот процесс отменяется, установка функции откатывается и ее можно запустить снова . Эта установка может быть медленной для по нескольким причинам :
    • Если установщик использовал большие сжатые CAB-файлы , которые сначала загружаются, а затем извлекаются локально на медленном диске , где антивирус начинает сканирование всей кабины, а затем каждый извлеченный файл может занять много времени.
    • Операция также может быть медленной, если сетевое соединение является беспроводным и имеется множество мелких файлов для загрузки ( высокая задержка ) и снова Антивирус может замедлить ход событий.
    • При установке со съемного носителя вы можете получить подсказки для вставки исходного носителя, чтобы разрешить копирование файлов. Очень распространенный звонок в службу поддержки, если съемный носитель используется в офисной среде (не следует - используйте установку администратора на общем сетевом ресурсе )
    • Etc ...
...