Как определить причину повторного самовосстановления установщика Windows?
- Как я могу регистрировать только те изменения, которые приводят к переустановке MSI-файла, созданного Installshield 2008, с помощью "самостоятельного восстановления"?
- В чем причина самовосстановления?
- Как отключить самовосстановление MSI с помощью Installshield 2008?
1 ответ
Самовосстановление, простое и краткое объяснение: почему установщик MSI переконфигурирует, если я удаляю файл?
Доступен альтернативный ответ
ОБНОВЛЕНИЕ: есть более короткий, более "ориентированный на решение" доступный ответ, возможно, попробуйте сначала. Этот ответ фокусируется на "понимании самовосстановления", а не на объяснении шагов, которые необходимо предпринять для устранения проблемы. Вы можете также прочитать первый раздел этого ответа.
Неожиданные проблемы самовосстановления установщика Windows - Quick Fix?
Эта "статья" стала большой и несколько нечитаемой. Вот недавно написанная преамбула - короткая " версия обходного пути " для исправления неожиданного самовосстановления (часто встречается в VB6, Visual Studio, MS Office, MS Outlook, AutoCAD и т. Д.)
- Если вы столкнулись с неожиданным самовосстановлением, первое, что вы можете попробовать - вручную создать ярлык на рабочем столе непосредственно для исполняемого файла приложения, которое вы запускаете при возникновении проблемы. Это обходит самый распространенный триггер самовосстановления, " рекламируемый ярлык ". Если это работает, ваша проблема "решена" (или ее избегают). Вот быстрое, конкретное объяснение
- Если проблема все еще возникает или ваша проблема связана с загрузкой MS Office, надстройки MS Outlook или аналогичной программы (которую вы не можете запустить с помощью ярлыка), то, скорее всего, у вас конфликт регистрации COM в вашей системе и исправление гораздо более сложное. Самый простой способ - отключить любые ненужные надстройки в диалоговом окне надстроек рассматриваемого приложения и посмотреть, устранит ли это проблему.
- Если вы все еще видите проблемы, то вам чаще всего нужно отлаживать подлинный конфликт регистрации COM (или конфликтующие ассоциации файлов /MIME, или командные глаголы). Обычно это включает (как минимум) два конфликтующих приложения в вашей системе, которые "борются с этим", обновляя реестр при каждом запуске после запуска другого приложения (всегда запуск одного из приложений не вызовет самовосстановление - конфликт возникает, когда вы чередуете приложения). Также возможно, что проблемы с разрешениями приводят к тому, что одно и то же приложение не может обновить систему, и оно продолжает бесконечно пытаться, многократно выполняя самовосстановление. И есть дополнительные возможности, более подробно ниже
- " Настоящее исправление " состоит в том, чтобы связаться с обоими поставщиками приложений и попросить их исправить проблему (поскольку исправление часто требует исправления MSI обоих поставщиков), но, по моему опыту, это редко бывает успешным. Попробуйте сами - ведь это способ помочь всем с давним раздражением! Я лично предоставил установку с исправлениями для развертывания банка и был очень рад, что проблема была решена в моем пакете
- Чтобы отладить себя, вам нужно воспользоваться инструментом для открытия кэшированных MSI -файлов в системе, и вам необходимо "взломать" базу данных - очень сложная задача, требующая экспертных навыков, вам следует обратиться за помощью к специалисту по установке, если проблема очень серьезна для вашего рабочего стола. Это может работать, но не ожидайте чудес.
- Пожалуйста, обратитесь к разделу " Поиск триггера или виновника для самовосстановления ", чтобы узнать больше о получении инструмента для просмотра и изменения файлов MSI.
Остальная часть "статьи" подробно описывает проблемы самовосстановления. Есть много других потенциальных причин самовосстановления, чем то, что описано в этом "коротком" разделе.
Общая проблема: отладка разработчика и самовосстановление
Установщик Windows - это технология развертывания, его задача - установить указанные файлы и параметры реестра и сохранить их в указанных местах установки и убедиться, что они являются правильными версиями - самовосстановление или отказоустойчивость являются механизмом для достижения этой цели. Его работа конфликтует с разработчиками, которые должны обмениваться файлами на лету для отладки, разработки и тестирования.
Соответственно, многие самовосстановления (отказоустойчивости) запускаются просто разработчиками, пытающимися отладить свое установленное приложение и оперативно заменять файлы на лету. См. Раздел 2 в разделе " Некоторые типичные сценарии проблемы самовосстановления " ниже, чтобы узнать, как с этим справиться. В других случаях существуют подлинные ошибки проектирования в MSI, которые должны быть исправлены, или ошибки системного администрирования, которые приводят к самовосстановлению - и иногда источник ошибок может быть трудно найти.
Я написал о проблеме самовосстановления в ответе на serverfault.com. Несколько иные слова, предназначенные для системных администраторов, и, читая их сейчас, это может быть более доступным объяснением, чем это длинное (предназначенное для разработчиков). Здесь также есть другой, более короткий ответ о stackru: почему установщик MSI переконфигурируется, если я удаляю файл? (это, вероятно, самый короткий и самый простой для понимания). И, наконец, я нашел очень хорошую статью о самовосстановлении от Вадима Раппа: как исправить попытки установщика Windows самостоятельно восстановить. Эту статью стоит прочитать.
Самовосстановление не произойдет, если установщик Windows определит, что запускаемый продукт установлен правильно. Когда происходит самовосстановление, в системе необходимо что-то изменить, чтобы приложение работало правильно.
Основные причины самовосстановления
Подробности представлены ниже в разделе " Некоторые типичные сценарии проблем с самовосстановлением ", но в качестве быстрого, предвидящего списка - основными причинами являются:
1. Плохо упакованные корпоративные файлы MSI или недостатки дизайна MSI от поставщика (сам пакет MSI плохо спроектирован и неожиданно вызывает самовосстановление по ряду причин)
- Чрезмерное или ошибочное использование пользовательских файлов или разделов реестра для пользователей, часто с ошибочными путями ключей, заданными в профиле пользователя (вместо HKCU). См. Раздел 5 ниже для более подробной информации (и цветной иллюстрации такой ситуации)
- Пакетное вмешательство из-за ошибочной регистрации COM-сервера (особенно COM-файлов VB6 или 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 KB3004394, которое обновляет способ проверки Windows на наличие отозванных корневых сертификатов, нарушает более старую версию сборки командной строки Installshield (для установок, которые были подписаны цифровой подписью). В настоящее время проблема в значительной степени решена, но это иллюстрация того, как Microsoft продолжает изменять основные функции MSI.
- Аналогичным образом Installshield аварийно завершил работу для многих пользователей после установки обновления Microsoft MS14-037 "Обновление безопасности для Internet Explorer версий 6, 7, 8, 9, 10 и 11" (KB2962872)
- После установки kb2918614 (Vista) произошло чрезвычайно проблематичное изменение в базовой функциональности установщика Windows. Внезапно для простой операции восстановления MSI потребовались учетные данные администратора. Это в целом победило основное преимущество MSI: способность обычных пользователей запускать утвержденные установки с временными правами администратора. После установки этого исправления были и другие проблемы с MSI. Похоже, другое обновление Windows исправило проблемы: kb3008627 (позже заменено на kb3072630)
О самовосстановлении
Установщик Windows предназначен для установки двоичных файлов вашего приложения, файлов настроек и данных, их установки и обеспечения правильности версий. Самовосстановление является механизмом для достижения этой цели. Общая концепция называется отказоустойчивостью, т. Е. Неработающая установка вызывает самовосстановление до запуска приложения.
Отказоустойчивость, или самовосстановление, является встроенной основной концепцией установщика Windows и не может быть отключена любым безопасным способом. Иногда люди делают самые невероятные вещи, например отключают весь движок установщика Windows, чтобы остановить их самовосстановление. Это, очевидно, никогда не должно быть сделано. Причина ремонта должна быть идентифицирована, и проблема решена вместо того, чтобы создавать новые или взламывать систему.
Каждый раз, когда вы запускаете объявленный ярлык (по сути, специальный ярлык, который указывает на функцию установщика Windows, а не на файл), установщик Windows проверяет установку, проверяя " пути к ключам компонентов " для вашего продукта. Если обнаружено несоответствие, запускается ремонт для исправления неполной установки. "Пути ключей компонентов" - это "файлы ключей", указанные для компонентов внутри MSI - для каждого компонента существует один. Самовосстановление также может быть инициировано тем, кто создает экземпляр COM-сервера (или пытается), кто-то активирует файл через расширение его файла или регистрацию MIME, и несколькими другими способами. Вот исчерпывающая статья Symantec на тему "точки самовосстановления": Инициирование функций самовосстановления и рекламы с помощью точки входа.
Если файлы удаляются, перемещаются или просто перезаписываются (вручную пользователем или каким-либо другим образом автоматически), может произойти самовосстановление (если параметр файла или реестра не задан как путь к ключу, самовосстановление не запускается).
Нахождение спускового крючка или виновника для самовосстановления
Триггер для самовосстановления обычно можно найти в программе просмотра событий в системе, в которой выполнялся самовосстановление. Выполните следующие действия, чтобы открыть средство просмотра событий:
- Щелкните правой кнопкой мыши "Мой компьютер"
- Нажмите Управление
- Нажмите продолжить, если вы получите приглашение UAC
- Перейдите в раздел "Просмотр событий" и проверьте журналы Windows.
В качестве альтернативы вы можете сделать: Start => Run... => eventvwr.exe только для просмотра событий. Если вы не видите запустить в меню Пуск, нажмите WINKEY + R.
- Загляните в " Раздел приложения " журнала событий, и вы должны найти предупреждения из источника событий "MsiInstaller" с идентификаторами 1001 и 1004.
- На примере снимка экрана выше код продукта показан внутри красной рамки
- Чтобы определить, для какого продукта предназначен код продукта, вы можете найти название продукта с помощью процедуры, описанной здесь: Как найти GUID продукта с установленной установкой MSI?
- Если вы действительно хотите углубиться и проверить фактическое содержимое файла MSI, вы должны приобрести инструмент, способный просматривать файл MSI ( например, Orca, Installshield, Advanced Installer или аналогичный). Затем вы открываете пакет, указанный в списке путей "LocalPackage", как показано на снимке экрана в ответе, связанном с предыдущим пунктом.
- Фактическая модификация кэшированного в системе файла MSI и / или реестра для удаления объявленных точек входа, таких как (объявленные) ярлыки, регистрация COM, ассоциации файлов, ассоциации MIME или командные глаголы, является работой специалиста. Это очень сложная и не очень хорошая практика, но это единственное "последнее средство", о котором я знаю.
- Наконец, приложение может явно вызывать сам установщик Windows для запуска самовосстановления для общих компонентов, например, для проверки орфографии. Я полагаю, что несколько версий Microsoft Access сделали это, и это поведение нельзя изменить или обойти, насколько мне известно.
У MSI-expert и MVP Стефана Крюгера есть статья об одной и той же проблеме самовосстановления. И он решительно обсуждает реальные записи журнала событий и что они значат. Пожалуйста, прочитайте о фактической процедуре отладки там.
Некоторые типичные сценарии проблемы самовосстановления:
Это "подробное объяснение" нескольких сценариев проблемы самовосстановления, уже описанных в обзоре выше.
- Путь к ключу компонента задается для пустой папки, которую установщик Windows удаляет при самовосстановлении (вызывая бесконечный цикл удаления и последующее самовосстановление). Это решается добавлением папки в таблицу CreateFolder ( эквивалент Wix). По моему опыту это самый распространенный сценарий нежелательного самовосстановления. Очень часто
Многие проблемы самовосстановления на самом деле вызваны разработчиками, пытающимися отлаживать свои приложения путем замены файлов на лету, их удаления или переименования. Или они могут использовать сценарии очистки реестра и / или пакетные сценарии для отмены регистрации и регистрации файлов COM, COM-Interop, файлов GAC, ассоциаций файлов или других распространенных задач отладки и разработки разработчика.
Эта горячая замена может вызвать самовосстановление, когда приложение запускается с помощью объявленного ярлыка.
Главный совет для разработчиков, борющихся с самовосстановлением во время отладки приложения, - не запускать приложение из объявленного ярлыка, а запуск основного EXE-файла непосредственно из Проводника Windows или из ярлыка, созданного вручную. Это обойдёт наиболее распространенную " точку самовосстановления " - рекламируемый ярлык. Самовосстановление может все еще быть результатом поврежденных данных COM, объявленных ассоциаций файлов и нескольких других особых случаев (для получения информации о точке входа прочитайте эту статью Symantec).
Другие приложения или, скорее, другие пакеты MSI могут нарушить вашу установку и привести к самовосстановлению, влияя на данные реестра - как правило, параметры COM, но также и на другие параметры и файлы. Это могут быть некоторые из самых сложных случаев, которые нужно решить, поскольку приложения в основном борются с этим, и последний из них будет обновлять реестр каждый раз. Как правило, оба файла MSI должны быть переработаны, чтобы приложения работали на одном компьютере. Или, как обычно, все приложение может быть виртуализировано (например, виртуальные пакеты Microsoft App-V) и запущено в собственной изолированной программной среде, что в наши дни все чаще используется в компаниях. Этот сценарий ошибки часто встречается с набором плохо перепакованных приложений в корпоративной среде. Фрагменты COM из разных пакетов перезаписывают путь к диску COM-сервера из другого пакета, и при каждом запуске приложения с помощью объявленного ярлыка происходит борьба с самовосстановлением. Одно и то же имя файла с разными версиями файлов также может быть зарегистрировано в разных местах файлов и совместно использовать некоторые параметры реестра, которые мешают. Насколько я помню, как минимум 7 переменных или настроек в файловой системе и реестре должны быть синхронизированы, чтобы COM-сервер мог быть правильно создан. См. Раздел 7 ниже для более специализированного описания помех COM в контексте приложений VB6 и VBA COM.
Путь к ключу компонента указывает на временный файл, который был удален приложением, или он будет в конечном итоге удален системой через какой-то механизм очистки (также может быть инструментом очистки, таким как ccleaner). Это обычно для файлов в самой папке temp. Это решается тем, что вы не устанавливаете временный файл или не помещаете файл в другое место и не делаете его постоянным. Я чаще всего видел эту ошибку в мире переупаковки корпоративных приложений, где неправильная очистка захваченного изображения приводит к установке временного файла, который вообще не должен был быть включен в пакет. Часто это могут быть временные файлы, ожидающие перезагрузки для установки в их предполагаемом, возможно, защищенном месте, и перезагрузка никогда не выполнялась - обычная ошибка упаковки приложений. В меньшей степени я видел это в автоматически генерируемых пакетах, исходящих из автоматизированных систем сборки.
Проблемы с разрешениями: если файл ключа для компонента установлен в месте, недоступном для пользователя, который вызывает приложение. Установщик Windows может "не видеть" путь к установленному файлу / ключу или не может добавить файл в папку. Эти проблемы могут быть более экзотическими для отладки, и могут случаться не так часто. Есть несколько вариантов по этому вопросу:
- Примером этого является случай, когда вы устанавливаете файл по пути%USERPROFILE%, а затем забываете указать путь к ключу реестра HKCU и вместо этого задаете путь к файлу, указывающий на папку / файл%USERPROFILE%. Обычно это приводит к недоступному жестко закодированному пути ключа, который зависит от пользователя: C: \ Documents and settings \ user1 \ Desktop. Этот путь не будет найден для другого пользователя, вошедшего в систему, и самовосстановление выполняется по кругу. Вот цветная иллюстрация.
- Другой пример - ключевые пути, заданные для папок, которые недоступны для записи для системной учетной записи. Это может показаться экзотическим, но может быть результатом неправильной модификации записей ACL системы MSI, странной настройки безопасности системного администратора или любого другого нестандартного дескриптора ACL / Security.
Другой класс проблем самовосстановления возникает в связи с терминальными серверами и Citrix. Вся служба установки Windows может быть заблокирована, поэтому любой самовосстановление, вызываемое для добавления данных на пользователя, может дать сбой, и, следовательно, самовосстановление может дать сбой или, скорее всего, вообще не будет выполняться. Это является достаточной причиной, чтобы не полагаться на самовосстановление как способ добавления пользовательских данных, как это делают некоторые файлы MSI, и такие конструкции должны быть заменены развертыванием приложений пользовательских файлов, скопированных из расположений на компьютере, или менее эффективной функцией ActiveSetup от Microsoft. который запускается один раз на пользователя.
Известно, что приложения 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 / OCX, и не полагаться на собственную версию, установленную избыточно и зарегистрированную в неправильном месте.
Особый случай восстановления или самовосстановления установщика Windows, о котором стоит упомянуть для полноты, была проблема с Microsoft Office несколько лет назад, когда самовосстановление запускалось, и вас попросили вставить установочный носитель Microsoft Office (в в те дни CD-ROM или DVD - сегодня, может быть, флешки). Насколько я помню, это было связано с ошибочным вызовом встроенного стандартного действия установщика Windows " ResolveSource ", который неожиданно (и без необходимости) вызвал запрос на установочный носитель. Очень распространенная поддержка перезвонит в тот же день и упоминается здесь для полноты. Важно отметить, что эта проблема все еще может возникать всякий раз, когда MS Office устанавливается с любого съемного носителя (а не лучший вариант сетевого ресурса). Это происходит, когда MS Office обнаруживает, что ему необходимо установить дополнительные, необязательные (и обычно совместно используемые) компоненты продукта, которые не были установлены изначально. Например, необычные средства проверки правописания, различные шаблоны или специальные и редко используемые инструменты. Можно установить эти компоненты для "установки при первом использовании" (рекламируемые функции - это правильный термин установщика Windows).
Есть много других возможных сценариев. Чтобы упомянуть несколько:
- плохой сценарий входа в систему может удалить вещи в системе и вызвать самовосстановление
- рекламируемый пакет AD может не установить и продолжать глючить
- два приложения могут начать борьбу за одинаковые ассоциации файлов
- компьютерные тинкеры и хакеры могут вручную удалять данные, которые запускают самовосстановление
- антивирус может помещать в карантин файлы и параметры реестра, которые вызывают восстановление
- вирус может изменить или удалить вещи и вызвать самовосстановление
- средство очистки диска и реестра, такое как ccleaner, может удалять файлы и запускать самовосстановление
- и, несомненно, множество других сценариев...
Доброкачественное использование для самовосстановления
Наконец, есть добрые способы самовосстановления, которые происходят один раз и не являются ошибками. Это законное и правильное использование самовосстановления, хотя оно может быть таким же раздражающим, как и ошибки проектирования, и при вмешательстве пользователя они могут появляться снова и снова:
- Самовосстановление иногда используется для добавления данных о пользователе в HKCU и профиль пользователя. Этот дизайн в основном работает, но ухудшается для каждой версии Windows, поскольку для развертывания создаются новые препятствия. Во-первых, самовосстановление обычно не работает на серверах терминалов, что делает настройку неполной. Хотя это и не является темой этого обсуждения, лучше, чтобы приложение копировало файлы в места для каждого пользователя. Еще одна проблема - UAC. Другие проблемы появляются с каждой новой версией Windows и даже с некоторыми обновлениями Windows, как описано выше (перенаправления виртуальных папок, запросы сертификатов, ранее отсутствовавшие ограничения целевого пути и т. Д.).
- Когда для настройки пользовательских данных требуется самовосстановление, это может занять так много времени, что пользователь прерывает его и продолжает это делать. Это приводит к тому, что самовосстановление появляется снова и снова, пока ему не дадут закончить. Общий звонок в службу поддержки.
- Также возможно установить продукт с " объявленными функциями ", которые предназначены для установки " по требованию ", срабатывающими во время использования приложения. Немногие приложения используют это, но когда оно используется, может запуститься длительный установщик "стиля самовосстановления" - сносит необходимые файлы и настройки. Если этот процесс отменен, установка функции откатывается и может быть запущена снова. Эта установка может быть медленной по нескольким причинам:
- Если установщик использовал большие сжатые CAB-файлы, которые сначала загружаются, а затем извлекаются локально на медленном диске, где антивирус начинает сканирование всей кабины, а затем каждого извлеченного файла операция может занять длительное время.
- Операция также может быть медленной, если сетевое соединение беспроводное, и загружается много мелких файлов (высокая задержка), и снова антивирус может замедлять работу.
- При установке со съемного носителя вы можете получить подсказки для вставки исходного носителя, чтобы разрешить копирование файлов. Очень распространенный звонок в службу поддержки, если съемный носитель используется в офисной среде (не должно быть - используйте установку с правами администратора на сетевом ресурсе)
- Так далее...