Установка Office 2003 на WinFLP - шаманские танцы с бубном.....
Короче начинаем. Имеем:
Продукт: Microsoft Office - профессиональный выпуск версии 2003 -- Ошибка 1911. Не удалось зарегистрировать библиотеку типов для файла ''C:\Windows\system32\VEN2232.OLB''
Продукт: Microsoft Office - профессиональный выпуск версии 2003 -- Ошибка 1904. Не удалось зарегистрировать модуль C:\Program Files\Microsoft Office\OFFICE11\1049\MSRCLR40.DLL.
Office 2007 ставится вообще без проблем! Задумываемся над этим и открываем системный лог:
Тип события: Предупреждение
Источник события: WinMgmt
Категория события: Отсутствует
Код события: 5603
Дата: 17.05.2007
Время: 18:58:27
Пользователь: NT AUTHORITY\SYSTEM
Компьютер: HOME
Описание:
Поставщик OffProv11 зарегистрирован в пространстве имен WMI Root\MSAPPS11, но не указал свойство HostingModel. Для запуска поставщика будет использоваться учетная запись LocalSystem. Это привилегированная учетная запись, и если поставщику не удастся олицетворить запрос пользователя, это может привести к нарушению безопасности. Проверьте, что поставщик не угрожает безопасности, и обновите свойство регистрации поставщика HostingModel до учетной записи с наименьшими привилегиями, необходимые для данной функциональности.
Оппппа.... "Улучшенная" безопасность, туды ее в качель... Ищем в дистрибутиве офиса 2003 файл с текстом HostingModel. Не находим... То же самое в 2007... Есть - OINFOP12.MOF. Находим в 2003 OINFOP11.MOF (OINFOP11.MOF_1049)... Сравниваем содержимое:
OINFOP12.MOF:
.
instance of __Win32Provider as $P
{
Name = "OffProv12";
// ClsId = "{D2BD7935-05FC-11D2-9059-00C04FD7A1BD}";
//this was define as class DECLSPEC_UUID("D2BD7935-05FC-11D2-9059-00C04FD7A1BD")
//OfficeObj;
// in Offprov.h
ClsId = "{DBF82DC7-E750-4CCF-B09C-D8AECEF7158E}";
// We comment out the following line when installing on Win2K, so DO NOT
// remove the unique word we use to find this line easily
// W2KHOSTINGMODELTAG
HostingModel = "SelfHost";
};
.
.
OINFOP11.MOF:
.
instance of __Win32Provider as $P
{
Name = "OffProv11";
// ClsId = "{D2BD7935-05FC-11D2-9059-00C04FD7A1BD}";
//this was define as class DECLSPEC_UUID("D2BD7935-05FC-11D2-9059-00C04FD7A1BD")
//OfficeObj;
// in Offprov.h
ClsId = "{F7107F37-C761-4748-B686-055F45889DCD}";
};
.
.
Почуствуйте разницу.... HostingModel. Короче для провайдера OffProv11 надо обьявить HostingModel. Нашел в инете скрипт:
' Change the hosting model for a WMI provider
computer = "."
namespace = "root\MSAPPS11"
provider = "OffProv11"
const wbemNotFound = &h80041002
Set objWMIService = GetObject("winmgmts:\\" & computer & "\" & namespace)
Set colSWbemObjectSet = objWMIService.ExecQuery("select * from __Win32Provider where name = '" & provider & "'")
count = 0
for each providerObj in colSwbemObjectSet
wscript.echo "Changing hosting model for provider " & provider & " in " & namespace & " namespace"
wscript.echo "Old value: " & providerObj.HostingModel
' Use NetworkServiceHost for providers that need remote access to other machines
' Use LocalServiceHost for providers that do not need remote access
providerObj.HostingModel = "LocalServiceHost"
providerObj.Put_
wscript.echo "New value: " & providerObj.HostingModel
count = count + 1
next
if (count = 0) then
wscript.echo "Provider " & provider & " not found in " & namespace & " namespace."
end if
пробуем предварительно поправив как надо.... работает, HostingModel = "LocalServiceHost" устанавливает. типа "УРРРАААААА!!!!!!"..... Рано радуемся, инсталляция дает ошибки. После инсталляции HostingModel опять пустое....
Вспоминаем "незлим тихим словом" Билла и предпринимаем более радикальные действия: правим OINFOP11.MOF (вставляем строку HostingModel = "LocalServiceHost" (или HostingModel = "SelfHost"). Получаем ошибку при инсталляции "не найден файл M35614HG.CAB", это КАБ где МОФ файл лежит...
Опять плюемся, долго думаем и читаем об инсталляторах... Находим:
http://forum.oszone.net/thread-70389-6.html
правим OINFOP11.MOF, перепаковываем архив, пробуем инсталлировать офис...
ядрен батон, первая ошибка (''C:\Windows\system32\VEN2232.OLB'') ушла, вторая
(MSRCLR40.DLL) осталась.... ну вааще. долго думаем о бренности существования... и между прочим смотрим шо это за файл, MSRCLR40.DLL. У меня Тотал Коммандер, у него плагин смотреть ДЛЛ-ки и экзешники, ну там хеадер и прочее... так вот есть такая фишка просмотр DLL Dependency (ДЛЛ зависимости). открываем и видим красным (отсутствует) файл msrepl40.dll. Шож это за зверь такой? Ищем его везде - и НЕ НАХОДИМ!!!! в т.ч. и в дистрибутиве WIN FLP!
А в Win XP SP1 - есть! тупо копируем его в Windows\System32 (установленная FLP), запускаем инсталляцию - УРРРАААААА!!!!!! Все работает, ошибки ушли.
БЕЗ КОММЕНТАРИЕВ.
Короче начинаем. Имеем:
Продукт: Microsoft Office - профессиональный выпуск версии 2003 -- Ошибка 1911. Не удалось зарегистрировать библиотеку типов для файла ''C:\Windows\system32\VEN2232.OLB''
Продукт: Microsoft Office - профессиональный выпуск версии 2003 -- Ошибка 1904. Не удалось зарегистрировать модуль C:\Program Files\Microsoft Office\OFFICE11\1049\MSRCLR40.DLL.
Office 2007 ставится вообще без проблем! Задумываемся над этим и открываем системный лог:
Тип события: Предупреждение
Источник события: WinMgmt
Категория события: Отсутствует
Код события: 5603
Дата: 17.05.2007
Время: 18:58:27
Пользователь: NT AUTHORITY\SYSTEM
Компьютер: HOME
Описание:
Поставщик OffProv11 зарегистрирован в пространстве имен WMI Root\MSAPPS11, но не указал свойство HostingModel. Для запуска поставщика будет использоваться учетная запись LocalSystem. Это привилегированная учетная запись, и если поставщику не удастся олицетворить запрос пользователя, это может привести к нарушению безопасности. Проверьте, что поставщик не угрожает безопасности, и обновите свойство регистрации поставщика HostingModel до учетной записи с наименьшими привилегиями, необходимые для данной функциональности.
Оппппа.... "Улучшенная" безопасность, туды ее в качель... Ищем в дистрибутиве офиса 2003 файл с текстом HostingModel. Не находим... То же самое в 2007... Есть - OINFOP12.MOF. Находим в 2003 OINFOP11.MOF (OINFOP11.MOF_1049)... Сравниваем содержимое:
OINFOP12.MOF:
.
instance of __Win32Provider as $P
{
Name = "OffProv12";
// ClsId = "{D2BD7935-05FC-11D2-9059-00C04FD7A1BD}";
//this was define as class DECLSPEC_UUID("D2BD7935-05FC-11D2-9059-00C04FD7A1BD")
//OfficeObj;
// in Offprov.h
ClsId = "{DBF82DC7-E750-4CCF-B09C-D8AECEF7158E}";
// We comment out the following line when installing on Win2K, so DO NOT
// remove the unique word we use to find this line easily
// W2KHOSTINGMODELTAG
HostingModel = "SelfHost";
};
.
.
OINFOP11.MOF:
.
instance of __Win32Provider as $P
{
Name = "OffProv11";
// ClsId = "{D2BD7935-05FC-11D2-9059-00C04FD7A1BD}";
//this was define as class DECLSPEC_UUID("D2BD7935-05FC-11D2-9059-00C04FD7A1BD")
//OfficeObj;
// in Offprov.h
ClsId = "{F7107F37-C761-4748-B686-055F45889DCD}";
};
.
.
Почуствуйте разницу.... HostingModel. Короче для провайдера OffProv11 надо обьявить HostingModel. Нашел в инете скрипт:
' Change the hosting model for a WMI provider
computer = "."
namespace = "root\MSAPPS11"
provider = "OffProv11"
const wbemNotFound = &h80041002
Set objWMIService = GetObject("winmgmts:\\" & computer & "\" & namespace)
Set colSWbemObjectSet = objWMIService.ExecQuery("select * from __Win32Provider where name = '" & provider & "'")
count = 0
for each providerObj in colSwbemObjectSet
wscript.echo "Changing hosting model for provider " & provider & " in " & namespace & " namespace"
wscript.echo "Old value: " & providerObj.HostingModel
' Use NetworkServiceHost for providers that need remote access to other machines
' Use LocalServiceHost for providers that do not need remote access
providerObj.HostingModel = "LocalServiceHost"
providerObj.Put_
wscript.echo "New value: " & providerObj.HostingModel
count = count + 1
next
if (count = 0) then
wscript.echo "Provider " & provider & " not found in " & namespace & " namespace."
end if
пробуем предварительно поправив как надо.... работает, HostingModel = "LocalServiceHost" устанавливает. типа "УРРРАААААА!!!!!!"..... Рано радуемся, инсталляция дает ошибки. После инсталляции HostingModel опять пустое....
Вспоминаем "незлим тихим словом" Билла и предпринимаем более радикальные действия: правим OINFOP11.MOF (вставляем строку HostingModel = "LocalServiceHost" (или HostingModel = "SelfHost"). Получаем ошибку при инсталляции "не найден файл M35614HG.CAB", это КАБ где МОФ файл лежит...
Опять плюемся, долго думаем и читаем об инсталляторах... Находим:
http://forum.oszone.net/thread-70389-6.html
правим OINFOP11.MOF, перепаковываем архив, пробуем инсталлировать офис...
ядрен батон, первая ошибка (''C:\Windows\system32\VEN2232.OLB'') ушла, вторая
(MSRCLR40.DLL) осталась.... ну вааще. долго думаем о бренности существования... и между прочим смотрим шо это за файл, MSRCLR40.DLL. У меня Тотал Коммандер, у него плагин смотреть ДЛЛ-ки и экзешники, ну там хеадер и прочее... так вот есть такая фишка просмотр DLL Dependency (ДЛЛ зависимости). открываем и видим красным (отсутствует) файл msrepl40.dll. Шож это за зверь такой? Ищем его везде - и НЕ НАХОДИМ!!!! в т.ч. и в дистрибутиве WIN FLP!
А в Win XP SP1 - есть! тупо копируем его в Windows\System32 (установленная FLP), запускаем инсталляцию - УРРРАААААА!!!!!! Все работает, ошибки ушли.
БЕЗ КОММЕНТАРИЕВ.