Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для volk1234

Старовер


Сообщения: 1708
Благодарности: 314

Профиль | Отправить PM | Цитировать


F.A.Q. по интегратору обновлений.
ПОКАЗАТЬ_СКРЫТЬ


Легенда:
[...] - папка, путь к папке.
File.exe - файл
Parametr - параметр, переменная

1. Теоретические вопросы.

1.1. Как мне интегрировать в Office 2003 конвертор файлов для Office 2007 ?

Никак !

Конвертер файлов для Office 2007 сделан по принципам Office 2007, который, в свою очередь, не поддерживает интеграцию обновлений в административную точку в отличие от выпусков 2000-2003гг.
Поэтому для конвертера файлов Office 2007, а так же Office 2007 нельзя построить интегратор на штатных методах обновления.
Замыслы по нештатному обновлению Office семейства 2007 есть, но воплотить их в жизнь некогда - ибо нештатные механизмы требуют огромного времени на разработку и тестирование.

Интегратор в принципе не может интегрировать конвертер файлов Office 2007 в Office 2003.
И даже если мы его туда интегрируем вручную, например через Orca, мы потеряем возможность обновлять как сам Office 2003, так и конвертер файлов.

От составителя:
Зато никто не мешает использовать метод Setup.ini:
Берем конвертор, последний SP для конвертера и обновления к нему например в этом посте
Размещаем их например так: конвертор в папке [Convert.2k7], обновления к нему в папке [Convert.2k7\Updates] , а все вместе в папку интегратора [ADD] (это позволит автоматически скопировать конвертор с обновлениями в создаваемый дистрибутив.

И добавляем в Setup.ini следующие секции
Код: Выделить весь код
[ChainedInstall_1] 
TaskName=File Formats Converter 2007
TASKTYPE=msi
PATH=Convert.2k7\O12Conv.msi
CmdLine=ADDLOCAL=ALL
Display=basic
Reboot=0
IgnoreReturnValue=1


[ChainedInstall_2]
TaskName=SP2_FileFormatConverters
TASKTYPE=exe
PATH=MsiExec.exe
CmdLine=/update Convert.2k7\Updates\O12Convsp2-ru-ru.msp
Display=basic
Reboot=0
IgnoreReturnValue=1

[ChainedInstall_3]
TaskName=WEP_Patch_FileFormatConverters
TASKTYPE=exe
PATH=MsiExec.exe
CmdLine=/update Convert.2k7\Updates\wordconv.msp;Convert.2k7\Updates\pptconv.msp;Convert.2k7\Updates\xlconv.msp
Display=basic
Reboot=0
IgnoreReturnValue=1
Конвертор файлов и нужные обновления к нему установятся после установки Office 2003.

1.2. Как подготовить дистрибутив Office 2003 для интеграции обновлений ?


Никакой специальной подготовки дистрибутивов не требуется (читаем инструкцию).

1.3. Нужно ли мне копировать xml-файлы в дистрибутив ?


Если используется оригинальный дистрибутив, то никаких файлов добавлять не требуется.

Вопрос относится к случаю, когда необходимо получить полноценный дистрибутив в CAB-файлах из имеющейся административной точки. Дистрибутивы семейства Office 2003 содержат 2 типа XML-файлов - это Sku*.xml в корне дистрибутива и XML-файлы, находящиеся в каталоге [FILES\SETUP]. При отсутствии файлов типа Sku*.xml дистрибутив становится нерабочим - из него нельзя сделать ни административную точку, ни выполнить обычную установку. В обычном дистрибутиве эти файлы находятся в корне, но при создании административной точки в корне их уже нет.
Прочитав лог версий интегратора можно обнаружить, что с версии 2b5 эти файлы были обнаружены в административной точке:
Цитата:
1) Теперь Sku*.xml берутся из админ точки. К административной точке надо добавить лишь XML-файлы из каталога [FILES\SETUP] исходного дистрибутива
И теперь вручную их добавлять уже не требуется.

Второй тип XML-файлов, находящихся в папке [FILES\SETUP], содержит контрольные суммы архивов дистрибутива. Зачем эти файлы нужны пока достоверно неизвестно - возможно они как-то связаны с поднимавшейся здесь проблемой кэширования дистрибутива, обновленного интегратором. Но эти файлы обновляет скрипт Sort2CABs.js на котором собственно и построен интегратор, поэтому их обработка и оставлена. Эти файлы отсутствуют в административной точке (на самом деле они там точно без надобности - ведь в административной точке нет CAB-файлов, а значит и не нужны их контрольные суммы).

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

1.4. Какие особенности интеграции обновлений в полный пакет программ Office 2003 (Visio, OneNote и т.д.)?


Существует некий полноценный дистрибутив, в котором уже собраны в одном каталоге все различные компоненты Office 2003. Этот дистрибутив большинству людей недоступен и найти его в интернете маловероятно. Выглядит он как обычный о дистрибутив, т.е. кучка CAB-файлов плюс набор установщиков - их там больше десяти, в отличие от общедоступного дистрибутива, где один установщик - Setup.exe и один MSI-файл (у большинства Pro11.msi). В то же время, известно, что общедоступный дистрибутив распространяется на нескольких дисках - 1й диск собственно сам Office 2003, 2й - FrontPage, 3й, 4й, 5й - Project, Visio и OneNote. Так вот очень многие CAB-файлы этих пяти дисков полностью совпадают (в пределах одного Service Pack и языка), поэтому все эти дистрибутивы можно совместить в одном каталоге, что значительно сэкономит занимаемое ими место.

Можно просто скопировать все эти диски в один каталог, но тогда мы теряем возможность устанавливать продукты через файл Setup.exe - ведь он есть во всех дистрибутивах, а параметры для него хранятся в файле [FILES\SETUP\Setup.ini] - а этот файл различен для этих пяти дисков.
Самый простой способ выйти из этой проблемы - это переименовать файлы Setup.exe и [FILES\SETUP\Setup.ini] в Setup***.exe и [FILES\SETUP\Setup***.ini], где *** - должен быть одинаков для файлов одного дистрибутива. Но в таком виде этот способ не подходит для интегратора, потому что при создании административной точки и Setup.exe и [FILES\SETUP\Setup.ini] берутся из CAB-файлов и все изменения будут утеряны. Поэтому надо взять Orca и заменить все найденные Setup.exe на Setup***.exe и[FILES\SETUP\Setup.ini] на [FILES\SETUP\Setup***.ini].

Но это все подготовительная часть - для тех кому интересно как все работает.

Чтобы совместить в одном каталоге несколько дистрибутивов нужно:

1) Положить все эти дистрибутивы в папку [Distrib] - можно по подпапкам, ничего в них не изменяя;
2) Указать в Settings.ini - ReNameSetupz=Yes - т.е. разкомментировать эту строку (убрать ';' в начале строки);
3) Настроить остальные параметры при необходимости и запустить процесс интеграции;

После окончания интеграции, на выходе получим дистрибутив с установщиками Pro11.exe, Fp11.exe и т.д. вместо файлов Setup.exe

1.5. Почему интегратор ругается на отсутствие PIDKEY2 если он мне и не нужен - я Frontpage и другие компоненты не планирую устанавливать ?

Это особенности функционала программы, она требует наличие 2-х серийных номеров в файле Settings.ini. Введите любой серийный номер, даже неверный в поле PIDKEY2,
чтобы интегратор нормально отработал. Если же необходимо интегрировать обновления во все компоненты необходимо ввести 2 легальных серийных номера.
С версии 3b7 интегратор будет выдавать ошибку только если второй лицензионный номер нужен для интеграции дополнительных компонентов упомянутых выше.

1.6. Как автоматически вводить лицензионный серийный номер при установке Office 2003 используя интегратор ?

Используя интегратор этого сделать нельзя. Однако можно указать ключ в файле Setup.ini без разделяющих тире
Код: Выделить весь код
[Options]
;USERNAME=
;COMPANYNAME=
;INSTALLLOCATION=C:\Program Files\MyApp
PIDKEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
ADDLOCAL=ALL
Сам файл Setup.ini положить в папку [ADD\FILES\SETUP]

1.7. Зачем нужны сгенерированные REG-файлы Owc10, Owc11, Pro11, AllPatches и как их использовать ?

При интеграции скрипт генерирует файлы Owc10.reg Owc11.reg Pro11.reg. Затем информация обобщается в один файл AllPatches.reg. Этот файл и нужно запустить для добавления информации о интегрированных обновлениях в системный реестр. И также для корректной работы с Windows Update - она берет свою информацию из реестра. Файл AllPatches.reg сам по себе не запустится во время установки!
Прописываем его в Setup.ini (желательно в конце файла)
Код: Выделить весь код
[ChainedInstall_7] 
TaskName=Add Updates to registry
TASKTYPE=exe
PATH=REG.EXE
CmdLine=IMPORT AllPatch.reg

1.8. Дайте мне пример рабочего файла Setup.ini ! Как это работает ?

Нате:
Код: Выделить весь код
[MSI]
MSI=PRO11.MSI

[Product]
ProductCode={90110419-6000-11D3-8CFE-0150048383C9}
ProductName=Microsoft Office 2003 SP3
ProductVersion=11.0.5614.0
Recache=1

[MST]
;MST=SetupAll.mst

[Options]
;USERNAME=Customer
;COMPANYNAME=my company
;INSTALLLOCATION=C:\Program Files\MyApp
PIDKEY=XXXXXXXXXXXXXXXXXXXXXXXXX
ADDLOCAL=ALL

[Display]
Display=basic
CompletionNotice=No

[OfficeWebComponents]
MSI=OWC11.MSI

[ChainedInstall_1] 
TaskName=FrontPage 2003
TASKTYPE=msi
;MST=SetupFp.mst
PATH=FP11.MSI
CmdLine=PIDKEY=XXXXXXXXXXXXXXXXXXXXXXXXX ADDLOCAL=ALL
Display=basic
Reboot=0
IgnoreReturnValue=1

[ChainedInstall_2] 
TaskName=Project 2003
TASKTYPE=msi
;MST=SetupPrj.mst
PATH=PRJPROE.MSI
CmdLine=PIDKEY=XXXXXXXXXXXXXXXXXXXXXXXXX ADDLOCAL=ALL
Display=basic
Reboot=0
IgnoreReturnValue=1

[ChainedInstall_3] 
TaskName=OneNote 2003
TASKTYPE=msi
;MST=SetupOn.mst
PATH=ONOTE11.MSI
CmdLine=PIDKEY=XXXXXXXXXXXXXXXXXXXXXXXXX ADDLOCAL=ALL
Display=basic
Reboot=0
IgnoreReturnValue=1

[ChainedInstall_4] 
TaskName=Visio 2003
TASKTYPE=msi
;MST=SetupVis.mst
PATH=VISPRO.MSI
CmdLine=PIDKEY=XXXXXXXXXXXXXXXXXXXXXXXXX ADDLOCAL=ALL
Display=basic
Reboot=0
IgnoreReturnValue=1

[ChainedInstall_5] 
TaskName=File Formats Converter 2007
TASKTYPE=msi
PATH=Convert.2k7\O12Conv.msi
CmdLine=ADDLOCAL=ALL
Display=basic
Reboot=0
IgnoreReturnValue=1

[ChainedInstall_6] 
TaskName=SP1 for File Formats Converter 2007
TASKTYPE=exe
PATH=MsiExec.exe
CmdLine=/update Convert.2k7\Updates\Convsp2.msp;Convert.2k7\Updates\pptconv.msp
Reboot=0
IgnoreReturnValue=1

[ChainedInstall_7] 
TaskName=Add Updates to registry
TASKTYPE=exe
PATH=REG.EXE
CmdLine=IMPORT AllPatch.reg
Как это работает можно почитать здесь.
Также можно использовать несколько вариантов установки создать различные сценарии - SetupAll.ini SetupSmall.ini. Чтобы их автоматически запустить, скопируйте и переименуйте файл Setup.exe в SetupAll.exe и SetupSmall.exe соответственно. Подробнее в вопросе #1.4 данного F.A.Q.

1.9. Почему конвертер документов из Office 2007 некорректно сохраняет документы и потом не может их открыть ?


Это ошибка разработчиков и с интегратором не связанна. Тем не менее решение проблемы здесь на форуме найдено.

Поэтому, если у вас после открытия файла .docx Word предлагает сохранить его как .docm, а затем отказывается открывать его (открыть документ можно
только поменяв расширение на .docx), примените следующий твик реестра(сохраните код в файле с расширением *.reg):
Код: Выделить весь код
 REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Export\MEWord12]
"Name"="Word 2007 Macro-enabled Document"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Export\Word12]
"Name"="Word 2007 Document"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Export\Word97]
"Name"="Word 97-2003 Document"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Import\MEWord12]
"Name"="Word 2007 Macro-enabled Document"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Import\Word12]
"Name"="Word 2007 Document"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Shared Tools\Text Converters\Import\Word97]
"Name"="Word 97-2003 Document"
Источник


2. Технические вопросы.

2.1. После установке Office 2003 обновленного интегратором версии 3b4 затем невозможно удалить и установить Office 2003.


Это известная ошибка этой версии. Для возможности удалить Office удалите ветку реестра:

Код: Выделить весь код
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Products\9140110900063D11C8EF10054038389C\Patches
Затем удалите офис как обычно.
По возможности используйте другие версии интегратора. Лучше самую новую.

2.2. Во время интеграции выскакивают непонятные сообщения об ошибке- Kill Stream Not Found


Интегратор всегда делает административную точку из любого дистрибутива, в т.ч. из уже созданной административной точки.
При создании административной точки к msi-файлу добавляется поток AdminProperties, который и удаляется интегратором, чтобы из административной точки снова стало возможно сделать административную точку (это гарантирует, что в дистрибутиве будут все необходимые файлы). Если запустить интеграцию второй раз, а поток AdminProperties уже удален, то появляется ошибка об отсутствии потока - Kill Stream Not Found. Пока не нашел метода как проверить наличие этого потока - Msidb.exe только может его удалять, а список потоков не дает.

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

Отсюда:
1. При интеграции обновлений можно использовать как обычный дистрибутив, так и административную точку;
2. После первой обработки вашего дистрибутива нужно изменить параметр IsAdmin на значение =No ;

2.5. Я использую версию 3b6. Почему интегратор не находит распакованных обновлений в папке MST ?

Автор написал в шапке:
Цитата:
Предупреждение для всех: Интегратор версии 3b6 требует наличия установленного архиватора 7zip
В связи с переходом на распаковку через 7zip это вынужденная мера. В следующих версиях будет использован автономный вариант 7zip, модуль 7za.exe, и установки архиватора 7zip не потребуется.

2.6. Почему в установке/удалении программ не отображаются обновления, которые я интегрировал с помощью интегратора?


Автор решил отказаться от отображения названий обновлений в "Установка и удаление программ", так как если организовать это отображение, то потребуется наличие всех интегрированных обновлений в папке [%Windir%\Installer] , а также некоторых записей в реестре, что лишает смысла использование интегратора.
Версия 3b4 умела показывать установленные обновления без наличия обновлений, но при этом нельзя было удалить/изменить Office 2003.

Новые версии интегратора не отображают интегрированных обновлений, зато дружественны по отношению к Windows Update, он корректно определяет обновления и не предлагает их установить повторно.

2.7. Почему версии интегратора 3.B7 и 3.B6 не интегрируют обновления только из MSP-файлов, как можно было в более ранних версиях?


Отвечает автор.
Все дело в том, что с течением времени Интегратор научился отсеивать устаревшие обновления. Эта "технология" требует оригинального названия exe-файла обновлений, поэтому я уже давно "мысленно" отказался от использования msp-обновлений. К тому же с версии 3b6 используется другой механизм получения имен обновлений - теперь они берутся из файла ohotfix.ini который идет вместе с msp-файлом внутри exe-обновления.
Для возвращения к старому режиму без потери функциональности потребуется вести собственную базу обновлений - пока это лично мне не требовалось...




Составил Volk1234

-------

Ю-ху!


Последний раз редактировалось volk1234, 20-06-2010 в 00:57. Причина: вариант на 29.07.09

Это сообщение посчитали полезным следующие участники:

Отправлено: 18:22, 15-07-2009 | #726