31.10.2016, 08:55
общий
это ответ
Здравствуйте, Юрий!
Вы спрашивали: "где операционка хранит информацию об установленных программах" - из Ответов ранее-ответивших экспертов Вы вероятно уже поняли, что информация для одного супер-большого приложения MicrosoftOffice2007 хранится в сотнях файлов, включая файлы системного реестра Windows.
"где программа установки новой версии проверяет наличие старой" - об этом знают только разработчики Office2007. Вероятно, установщик проверяет остатки старой версии не в одном, а в нескольких местах, и не все из них можно найти по фрагменту "Office". Некоторые компоненты типа HKCR\CLSID\{993BE281-6695-4BA5-8A2A-7AACBFAAB69E}\InprocServer32 не содержат слова "Office" (см прилагаемый файл 189947-OfficeКомпоненты.txt ).
"Я не думаю, что программа установки роется во всём реестре, наверняка есть какая-то известная ей ветвь, ключ, где фиксируется установка Office и его версия" - Вы правы, установщик запрограммирован специалистами, хорошо знающими особенности предыдущей версии. Более того, когда мы устанавливаем Office2007 поверх более старых Office-версий, установщик без проблем и запросов просто затирает старые записи новыми. Но когда запущены систем-службы, которые невозможно остановить, тогда приходится сначала удалить старую версию, чтоб эти службы перестали запускаться. И удалять лучше не сторонними программами (типа Revo Uninstaller), а использовать инструменты разработчика приложения. Разработчик, корпорация Microsoft, лучше всех знает, где растыканы компоненты, и как удалить их наиболее чисто.
"я не настолько разбираюсь в реестре, да и утомительно это" - да, вручную вычищать остатки такого монстра, как Office2007 - это но только утомительно, а практически невозможно. Я попытался, сотни файлов и реестровых записей со словом Office нельзя удалять, пока не будут удалены другие объекты, на которые ссылают "Office"-содержащие компоненты. К счастью, вся информация, необходимая для удаления, записана в небольшом количестве файлов. Надо просто найти удалялки и дать нужную команду. Как найти эту команду?
Я опишу процесс удаления испорченного Office2007 в ситуации, максимально-приближённой к Вашей . Для этого я установил Win7-x64 (она мало отличается от Вашей Windows10 64 бит с точки зрения установки-удаления приложения) на раздел D: (на разделе C: живёт моя любимая WinXP). Затем я установил "Microsoft Office Стандартный 2007" - обычно именно её устанавливают продавцы ноутбуков. В окне апплета "Программы и компоненты" отобразилось новое приложение "Microsoft Office Стандартный 2007".
Прописка находится в разделе сис-реестра HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\STANDARD . Если значение параметра DisplayName заменить на Office2017 , то и апплет "Программы и компоненты" отобразит , будто установлен Office2017 (а не 2007) . Параметр UninstallString хранит строковое значение команды для удаления приложения Office2007, а именно:
"D:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\Office Setup Controller\setup.exe" /uninstall STANDARD /dll OSETUP.DLL
Именно эта команда запускается от кнопки Удалить в окне "Программы и компоненты" \ Office2007 . Всё работает, файлы типа МойФайл.doc открываются и обрабатываются.
Начинаем ломать. Я удалил раздел реестра HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\STANDARD - мой "Microsoft Office Стандартный 2007" перестал отображаться в окне "Программы и компоненты". Но Office-приложение ещё работает, файлы типа МойФайл.doc открываются и обрабатываются. Конечно, я подстраховался, и перед удалением раздела я из его контекста выбрал команду "Экспортировать", затем указал куда именно: D:\Win7\Office2007.reg
Я удалил самую большую Office-папку D:\Program Files (x86)\Microsoft Office (422файла, 180 МБ). .doc-файлы уже не должны открываться. Но при попытке открыть МойФайл.doc происходит чудо: Живучий Microsoft Office восстанавливает папку D:\Program Files (x86)\Microsoft Office\ из дистрибутива, путь к которому он хранит в параметре InstallSource (источник)! И со 2й попытки файл МойФайл.doc снова открывается! В окне "Программы и компоненты" Office отсутствует.
Я снова удаляю папку D:\Program Files (x86)\Microsoft Office и запускаю удалятель: В адресную строку главного меню Пуск (также можно в окне Выполнить, открываемое клав-сочетанием Windows+R) вставляю значение из UninstallString :
"D:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\Office Setup Controller\setup.exe" /uninstall STANDARD /dll OSETUP.DLL
- система ответила, что установка повреждена, надо сначала восстановить установку, а потом удалять продукт.
Я запускаю файл D:\Win7\Off2007Uninstal.reg (22кБ) , в который я экспортировал, раздел сис-реестра HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\STANDARD восстановлен. Теперь весь пакет Office2007 удаляется чисто (хоть из окна "Программы и компоненты" с восстановленной Office2007-строкой, хоть командой из меню Пуск). При этом удалятель игнорировал, что сотни файлов и десятки реестровых записей я предвари удалил вручную топорным способом.
Таким образом, если у Вас не получится удаление по ссылке из выше-ответа эксперта Megaloman, то Вы можете:
1)Установить Office2007 на другом разделе жёсткого диска или на другом диске так, чтобы буква системного диска (C: или D:) совпадала с буквой раздела, где установлен недобитый Office2007 .
2)Экспортируете в reg-файл (C:\\Office2007.reg) раздел реестра, HKLM\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\STANDARD . Вместо слова STANDARD у Вас вероятно будет другое имя раздела, в котором значение параметров DisplayName и DisplayVersion в точности совпадают с отображением имени и версии продукта Office2007 в окне "Программы и компоненты".
3)В системе с повреждённым Office2007 запускаете Office2007.reg . Он восстановит отображение якобы установленного продукта Office2007 в окне "Программы и компоненты" (если это окно было открыто ранее, чем запущен Office2007.reg, то обновите экранное отображение нажатием клавиши F5 в активном окне "Программы и компоненты").
Вроде бы можно запускать удаление продукта. Но надо убедиться, что в системе присутствуют файлы, на которые ссылает команда удаления. Например, в моём выше-примере из UninstallString-значения должны присутствовать:
папка D:\Program Files (x86)\Common Files\Microsoft Shared\OFFICE12\Office Setup Controller\ ,
её явно-указанные в команде файлы setup.exe и библиотека OSETUP.DLL ,
а также др xml-файлы, в которых установщик вписал, где хранятся установленные компоненты.
Если эта папка повреждена, импортируйте её из системы с похожим исправным Офисом на той же букве диска. =Удачи!
Прикрепленные файлы:
160fd2c87ee2c5b0b12646434a634e9bfe560302.zip