Старовер
Сообщения: 1708
Благодарности: 314
|
Профиль
|
Отправить PM
| Цитировать
Новые + предыдущие исправления в РУКОВОДСТВО.
Обсуждаем. Всем заинтересованным, внесу эти изменения на выходных - 20,21 июня. Орфография в Личку !
читать дальше »
Раздел I. Общие положения.
читать дальше »
▫ Имена файлов и папок.
Все файлы аддонов типа SYSOC должны иметь имена в формате 8.3. В этом же формате должны именоваться CAT-файлы используемые, как в SYSOC, так и в SVCPACK типах аддонов. Имена файлов и папок не должны содержать пробелов и спецсимволов (например, в Txtsetup Sysoc имена со спецсимволами и длинными именами не будут подхватываться).
▫ Префиксы в названиях папок аддонов.
предложение: Предлагается следующее использование префиксов (составил Shido): см. Приложение 1. Префиксы.
изменить на
Посмотреть пример использования префиксов (составил участник конференции Oszone Shido): Приложение 1. Префиксы
....
Пожалуйста, примите к сведению, использование стандартных (общепринятых на форуме) имен для аддонов, архивов с аддонами, файлов в аддонах,
поможет вам избежать различных, явных и неявных, ошибок, связанных с таким, казалось бы простым вопросом.
В свете изложенного необходимо четко понимать, что наименование папок и архивов с аддонами остается целиком на совести авторов.....
Дополнительно про именование версий программ можно почитать в серии статей Занимательная нумерология (блог Проничкиных)
▫ Конфигурационные файлы.
....
При выполнении файлов Start, SpecCase, Finish первым параметром передается путь к аддону в виде Addons\Имя_папки_аддона. Из самого файла его можно получить через переменную командной строки '%1'.
РАЗДЕЛ II. Типы аддонов.
читать дальше »
▫ Аддоны, использующие SYSOC
Файл Txtsetup.sif фактически является списком копируемых файлов для текстового этапа установки, с его помощью копируются файлы и кусты реестра с диска в папку установки Windows.
Файл Dosnet.inf содержит остальные данные для программы установки на текстовом этапе, в том числе папку установки Windows. Этот файл используется при установке Windows с жёсткого диска, по сети, со съемных устройств.
На графическом этапе с помощью Sysoc.inf менеджер установки строит список дополнительных компонентов и сверяет его с файлом ответов (Unattend.txt, Winnt.sif), если такой файл есть. По результатам сверки образуется конечный список устанавливаемых компонентов.
Фактически аддон типа SYSOC работает следующим образом. При компиляции скриптом Update Pack секции из Sysoc, Txtsetup, Dosnet, находящихся в корневой папке аддона, переносятся в дистрибутивные аналоги. Файлы из папки аддона Files копируются в папку дистрибутива I386.
При установке Windows, на текстовом этапе установки файлы, прописанные в списке Txtsetup.sif, копируются из дистрибутива
в папку назначения. Затем аддон устанавливается вместе с другими дополнительными компонентами из Sysoc.inf.
Важно: Для совместимости аддона со все возможными способами установки Windows, необходимо включать в аддон конфигурационный файл Dosnet.
▫ Аддоны, использующие для интеграции SVCPACK.
Важно! Если аддон меняет какие-либо системные файлы, не забудьте про файлы каталогов безопасности ( *.cat). Если такие файлы необходимы, они просто размещаются в папке SVCPACK аддона, скрипт их скопирует и добавит в Svcpack.inf автоматически. В файле Run их прописывать не надо! Еще раз напомню, CAT-файлы, используемые как в SYSOC, так и в SVCPACK типах аддонов, должны именоваться формате 8.3!
ссылка на новое приложение 9.
▫ Аддоны, изменяющие дистрибутив.
....
Тонкости изменения дистрибутива.
Если необходимо создать аддон, который при интеграции копирует нужную папку в корень создаваемого дистрибутива силами UpdatePack, воспользуйтесь следующим способом:
Добавьте в корневую папку вашего аддона конфигурационный файл Start (Finish), содержащий строку:
Код: 
COPY /V /Y /Z "%~1\Имя_папки" "%DISTR%"
Где интересует нас только 2 параметра: "%~1\Имя_папки" и "%DISTR%", поскольку остальные - стандартные ключи команды Copy.
%~1- возвращает скрипту путь к вашему аддону (соответственно, копируемая папка также должна располагаться в корневой папке аддона)
%DISTR%- это внутренняя переменная скрипта UpdatePack, содержащая путь к вашему дистрибутиву.
Раздел III. Примеры и приложения.
читать дальше »
▫ Приложение 1. Префиксы.
читать дальше »
Это пример, а не руководство к действию !
Переименование папок чужих аддонов недопустимо (особенно, если вы не понимаете последствий), так как это нарушит зависимость данного аддона от других. А также изменит порядок интеграции, который проверялся автором в ходе тестирования, и затруднит анализ ошибок.
Переименование папок готовых аддонов (в т.ч. для добавления префиксов), не даст обычному пользователю никаких преимуществ, а скорее создаст проблемы. Префиксы это инструмент авторов аддонов для случаев, когда возникают проблемы с интеграцией и совместимостью аддонов.
При создании новых аддонов имеет смысл использовать описанную ниже схему -
Аддон который надо обработать, до других аддонов в том числе встроенных аддонов Update Pack именовать префиксом 0-имя_аддона,Аддон который надо обработать, после всех других аддонов именовать префиксом 9-имя_аддона (либо zz-имя_аддона).
Примерная нумерация префиксов .[/b]
Код: 
0 - Служебные, предназначены для подготовки других аддонов к процедуре интеграции.
1 - Аддоны базового набора.
2 - Разного рода обновления и дополнения встроенных компонентов ОС.
3 - Неофициальные обновления или технические обновления ОС. Наборы библиотек, компоненты не входящие в ОС, и.т.п. вещи.
4 - Хаки.
5 - Программы сторонних производителей (sysoc).
6 - Программы сторонних производителей (svсpack).
7 - Аддоны предназначенные для внесения изменений в реестр ОС.
8 - Аддоны предназначенные для удаления компонентов ОС и драйверов.
9 - Служебные, предназначены для пост-обработки информации или создания образа.
▫ Приложение 2. Тонкости использования INF-файлов.
3. Создание ярлыков - обновлено и доработанно
читать дальше »
▫ Флаги создания/удаления ярлыков – перенесено из разного
Есть в руководстве по INF-файлам, но по этому списку более понятна логика складывания флагов:
Код: 
0x00000001 Создать пункт меню для текущего пользователя
0x00000002 Удалить пункт меню
0x00000003 Удалить пункт меню для текущего пользователя
0x00000004 Создать пункт меню для профиля All Users в папке Пуск\Все программы
0x00000005 Создать пункт меню для текущего пользователя в папке Пуск\Все программы
0x00000006 Удалить пункт меню для профиля All Users в папке Пуск\Все программы
0x00000007 Удалить пункт меню для профиля текущего пользователя в папке Пуск\Все программы
*в меню пуск все пункты меню - ярлыки
соответственно удаляется эти флаги из подраздела 4. Разное
▫ Специальные флаги создания/удаления ярлыков (Special ProfileItems Flags)
Добавление ярлыков:
Код: 
0x00000008,2 = "%UserProfile%\Start Menu\Programs"
0x00000008,5 = "%UserProfile%\My Documents"
0x00000008,6 = "%UserProfile%\Favorites" <- Perfect for adding custom IE Bookmarks
0x00000008,7 = "%UserProfile%\Start Menu\Programs\Startup"
0x00000008,8 = "%UserProfile%\Recent"
0x00000008,9 = "%UserProfile%\SendTo"
0x00000008,11 = "%UserProfile%\Start Menu"
0x00000008,13 = "%UserProfile%\My Documents\My Music"
0x00000008,14 = "%UserProfile%\My Documents\My Videos"
0x00000008,16 = "%UserProfile%\Desktop"
0x00000008,19 = "%UserProfile%\NetHood"
0x00000008,20 = "%WinDir%\Fonts"
0x00000008,21 = "%UserProfile%\Templates"
0x00000008,22 = "%AllUsersProfile%\Start Menu"
0x00000008,23 = "%AllUsersProfile%\Start Menu\Programs"
0x00000008,24 = "%AllUsersProfile%\Start Menu\Programs\Startup"
0x00000008,25 = "%AllUsersProfile%\Desktop"
0x00000008,26 = "%UserProfile%\Application Data" <- Perfect for QuickLauch
0x00000008,27 = "%UserProfile%\PrintHood"
0x00000008,28 = "%UserProfile%\Local Settings\Application Data"
0x00000008,31 = "%AllUsersProfile%\Favorites"
0x00000008,32 = "%UserProfile%\Local Settings\Temporary Internet Files"
0x00000008,33 = "%UserProfile%\Local Settings\Cookies"
0x00000008,34 = "%UserProfile%\Local Settings\History"
0x00000008,35 = "%AllUsersProfile%\Application Data"
0x00000008,36 = "%WinDir%"
0x00000008,37 = "%WinDir%\system32"
0x00000008,38 = "%ProgramFiles%"
0x00000008,39 = "%UserProfile%\My Documents\My Pictures"
0x00000008,40 = "%UserProfile%"
0x00000008,41 = "%WinDir%\system32"
0x00000008,43 = "%CommonProgramFiles%"
0x00000008,45 = "%AllUsersProfile%\Templates"
0x00000008,46 = "%AllUsersProfile%\Documents"
0x00000008,47 = "%AllUsersProfile%\Start Menu\Programs\Administrative Tools"
0x00000008,48 = "%UserProfile%\Start Menu\Programs\Administrative Tools"
0x00000008,53 = "%AllUsersProfile%\Documents\My Music"
0x00000008,54 = "%AllUsersProfile%\Documents\My Pictures"
0x00000008,55 = "%AllUsersProfile%\Documents\My Videos"
0x00000008,56 = "%WinDir%\Resources"
0x00000008,57 = "%WinDir%\Resources\0409"
0x00000008,59 = "%UserProfile%\Local Settings\Application Data\Microsoft\CD Burning"
Удаление ярлыков:
Для специальных флагов тоже действует правило сложения – специальный флаг + флаг удаления =0x00000008+0x00000002=0x0000000A
Чтобы удалить ярлык, созданный с помощью специальных флагов, используйте:
Код: 
0x0000000A, номер специального флага равный номеру специального флага при создании ярлыка (таблица выше).
В качстве примера рассмотрим следующий раздел:
▫ Создание/удаление ярлыка в контекстном меню "Отправить" (SendTo):
Важно: При использовании ProfiledItems в вашей секции создания ярлыка в параметре CmdLine= необходимо указать путь к файлу и имя файла в формате 8.3.
4. Разное.
▫ Определение каталога копирования по умолчанию. новое
читать дальше »
В секции DestinationDirs определяются папки назначения для всех операций копирования, удаления и переименования, где бы они не находились в INF-файле. Организованно это в виде списка секций и путей копирования для них.
Для секций, не заданных явно в этой папке, или для файлов, скопированных прямо из секции копирования (с помощью символа @)
Синтаксис:
Код: 
DefaultDestDir=dirid,подпапка
Пример.
Код: 
[DefaultInstall]
CopyFiles=SomeSection,@somefile.txt
[DestinationDirs]
DefaultDestDir=16409,Temp
SomeSection=10,
Секция SomeSection будет скопирована / переименована / удалена по пути, определенному в DestinationDirs (в данном случае %WINDIR%)
Файл somefile.txt и другие секции или файлы, не указанные в DestinationDirs, будут копироваться по умолчанию в папку Temp на рабочем столе.
Избегайте использования DefaultDestDir с несколькими вложенными INF-файлами (использующими директивы Include и Needs). Если во вложенных файлах будет определена директива DefaultDestDir, отличная от основного файла, она будет игнорироваться, и все файлы будут скопированы в папку, определенную в основном INF-файле.
Если в секции DestinationDirs нет ни одной записи, все файлы по умолчанию копируются в %windir%\system32.
▫ Приложение 3. Файл Txtsetup.sif
....[_x] означает, что файл дистрибутива не сжат. Если [_x] отсутствует, программа установки предполагает, что файл сжат. Каждый файл дистрибутива XP перечислен в Layout.inf, вместе с размером в байтах. Размер в байтах, очевидно, зависит от того, сжат файл или нет. Если Txtsetup.sif укажет программе установки, что файл не сжат, то установщик будет сравнивать размер файла с Layout.inf, чтобы удостовериться, что размер не был изменен. Если файл сжат, то установщик будет сравнивать с записью в Layout.inf размер распакованного файла. Если размер файла не соответствует тому, что указан в Layout.inf, установка XP может быть прервана ошибкой.
▫ Приложение 8. Файл Addon.nfo
С вое развитие этот конфигурационный файл получил в служебном аддоне HTMLINFO, созданным участником конференции asmol.
Данный аддон формирует в корневой папке вашего дистрибутива файл ADDONS.HTM вместо ADDONS.TXT.
В данном файле используются многие преимущества языка HTML, и это позволяет красиво оформить список установленных аддонов.
Используя в вашем аддоне файл html.nfo, вы можете добавить описание вашего аддона в ADDONS.HTM.
▫ Приложение 9. Тонкости создания аддонов SVCPACK новое
читать дальше »
Данное приложение не ставит цели повторять ветки форума Автоматическая установка приложений. Здесь не будет (по крайней мере не планируется) полного списка ключей инсталляторов.
1. Использование установщиков.
Как правило, использование установщиков в аддонах SVCPACK сводится к запуску инсталлятора в «тихом» режиме. Однако есть и тонкости.
1.1 Использование установщика Windows (Windows Installer)
Самая распространенная конструкция аддонов типа SVCPACK - это строка с использованием ключей тихой установки конкретного установщика в конфигурационном файле Run, либо в коментарии архива. Также используются MST-файлы для заданных заранее параметров установки. Этот метод не всегда гибок. Данный факт сподвиг меня на исследования, которые вылились в целую статью. Повторять ее здесь нет смысла, поэтому обязательно почитайте статью по ссылке. Здесь же небольшие замечания по использованию свойств установщика Windows.
Свойства (Properties) установщика, заданные в командной строке, имеют приоритет выше, чем MST-файл, что делает их отличным средством повышения гибкости вашего аддона. Можно исправить одну строку с параметрами, а не редактировать специальными программами MST-файл.
Синтаксис использования:
Код: 
msiexec.exe /i Example.msi СВОЙСТВО
Если MSI-файл установки упакован установщиком в EXE-файл, то следует использовать стандартный ключ /v для передачи параметров в MSI- файл.
Синтаксис использования:
Код: 
Example.exe /s /v”TRANSFORMS=unatend.mst /qn”
Обсуждение применения различных свойств установщика Windows в ветке Msiexec - список ключей и свойств
Важно! Поскольку строки, содержащие знаки '=' , '-' и некоторые другие символы, некорректно отрабатывают в конфигурационном файле Run, вышеприведенные строки надо использовать в скриптах, а в файле Run указывать только имя скрипта.
Хочу поблагодарить отдельно, забытого:
IDDQDesnik за пост #14 - определившего название одной из групп аддонов в Руководстве.
Хочу поблагодарить людей внесших основные идеи в эту редакцию –
otsheln1k - сравнение размера сжатого файла с Layout.inf
Shido - отличный пример использования внутренней переменной UP
vserd - раскопанный возвращаемый параметр конфигурационных файлов, уточнение описания sysoc
okshef – орфография
Gora
Jameszero, Habetdin – за поднятый вопрос со специальными флагами ProfiledItems
Приложение 2. к апрелю Обещал дополнить Staner да так и пропал
|