Вопрос или проблема
У меня есть 100 систем Windows 10 Pro с различными приложениями, установленными с UNC-пути формы \\old_server.old_domain\\app_path
в сети Active Directory. Эти приложения были установлены с помощью GPO в old_domain.
Мы мигрировали системы в new_domain. Теперь на new_server размещены MSI-установщики. Были созданы новые GPO для обновления/установки приложений.
Новые установки работают нормально. Однако обновления существующих приложений не удаются. При проверке мы обнаружили, что установщик запрашивает оригинальный \\old_server.old_domain\\app_path
.
Мы попробовали решения, упомянутые на https://stackoverflow.com/questions/4069431/how-to-manually-remove-msi-installation :
- Удаление, за которым следует очистка установщика Windows для уничтожения всех старых данных установки. Однако после перезагрузки приложение снова появляется в приложении очистки установщика Windows. Более того, под ключом
HKCR\Installer\Products\XXXXXX\SourceList\Net
ключ1
указывает на\\old_server.old_domain\app_path
- Использование Revouninstaller -> тот же результат
- Использование инструмента Microsoft fixit, указанного в том же сообщении -> тот же результат
- Установка пакета с нового пути с опцией
SOURCELIST
, то есть вызовmsiexec -i \\new_server.new_domain\package.msi SOURCELIST="\\new_server.new_domain\"
. В этом случае мы видим, что подHKCR\Installer\Products\XXXXXX\SourceList\Net
создается новая строка2
после установки, указывающая на новый путь. Но после перезагрузки она не сохраняется, возвращаясь к единственному значению1\
, которое содержит старый путь.
Была статья, упоминающая инструмент MsiSourceList
, который может использоваться для изменения этих MSI-источников. Он должен быть включен в Windows SDK, но я не смог его найти.
.
Ответ или решение
Ваша ситуация с установкой и обновлением приложений на Windows 10 через UNC-путь действительно носит сложный характер, учитывая изменение домена и сервера. Рассмотрим детально, как можно решить задачу и заставить приложения "забыть" исходный путь установки.
Основные проблемы
Ваша основная проблема заключается в том, что при обновлении прикладных программ MSI установщики продолжают запрашивать исходный установочный путь из старого домена \\old_server.old_domain\\app_path
, который больше недоступен. Это связано с тем, что реестр Windows сохраняет информацию об исходных путях установки. Проблема не решается даже после полного удаления и повторной установки, так как система возвращает старые настройки после перезагрузки.
Возможные решения
-
Редактирование реестра вручную
Можно попытаться напрямую отредактировать реестр Windows, особенно в разделе:
HKCR\Installer\Products\XXXXXX\SourceList\Net
Чтобы изменить или удалить значение, указывающее на старый путь. Это может потребовать значительных временных затрат, особенно с учетом необходимости выполнения на 100 системах.
-
Скрипты Powershell
Рекомендуется написание скрипта на PowerShell, автоматизирующего процесс удаления и добавления новых путей к источникам установки. Это может существенно ускорить процесс на каждом из компьютеров.
-
Использование инструмента MsiSourceList
Данный инструмент, действительно, поставляется с Windows SDK, однако его может быть сложно найти из-за особенностей настройки вашей системы и версии SDK. Попробуйте:
- Перейти на Microsoft официальную страницу загрузки SDK
- После установки SDK проверьте директорию
bin
на наличие инструмента MsiSourceList.
-
Обновление через GPO
Создание новой группы политик (GPO) для установки последних версий приложений через новый UNC-путь может иногда помочь самостоятельно перезаписать старые пути. Но, судя по вашему описанию, это решение может не всегда срабатывать.
-
Документация и сторонняя поддержка
Возможно, стоит обратиться в службу технической поддержки Microsoft или изучить специализированные форумы. Бывают сценарии, где какие-либо обновления программы или системы могли бы помочь в этом деле.
SEO-Оптимизация и Заключение
Эта мера поможет роботу поиска лучше находить ваш контент. Используйте ключевые слова, такие как "Сброс установки MSI", "Редактирование реестра Windows", "Проблемы обновления MSI", и так далее. Убедитесь, что ваше решение приходит из надежного источника, и описание включает основные шаги, которые помогут коллегам по ИТ в аналогичных ситуациях.
Таким образом, подход к решению вашей проблемы должен быть многослойным: от ручного редактирования до использования скриптов или инструментов, поставляемых Microsoft.