УЧЕБНИК ПО АВТОУСТАНОВКЕ WINDOWS

         

DIR IDs


В руководстве по написанию INF-файлов дан наиболее полный перечень стандартных DIRID, однако по непонятной причине не

указаны специальные переменные оболочки. Привожу наиболее полный список от Gosh:

 Value  Shell Special Folder

 16384   %userprofile%\Desktop (Рабочий стол)

 16386   %userprofile%\Start Menu\Programs (группа Программы меню Пуск)

 16389   %userprofile%\My Documents (папка Мои документы)

 16390   %userprofile%\Favorites (папка Избранное)

 16391   %userprofile%\Start Menu\Programs\Startup (группа Автозагрузка)

 16392   %userprofile%\Recent (Недавние документы)

 16393   %userprofile%\SendTo (папка для меню Отправить)

 16395   %userprofile%\Start Menu (меню Пуск или папка Главное меню)

 16397   %userprofile%\My Documents\My Music (папка Моя музыка)

 16398   %userprofile%\My Documents\My Videos (папка Мои видеозаписи)

 16400   %userprofile%\Desktop (Рабочий стол)

 16403   %userprofile%\NetHood (папка Сетевое окружение)

 16404   C:\WINDOWS\Fonts (папка Шрифты)

 16405   %userprofile%\Templates (папка Шаблоны)

 16406 * %allusersprofile%\Start Menu

 16407 * %allusersprofile%\Start Menu\Programs (группа Программы меню Пуск)

 16408* %allusersprofile%\Start Menu\Programs\Startup (меню Пуск или папка Главное меню)



 16409 * %allusersprofile%\Desktop (Рабочий стол)

 16410    %userprofile%\Application Data

 16411   %userprofile%\PrintHood (папка Принтеры)

 16412   %userprofile%\Local Settings\Application Data

 16415 * %allusersprofile%\Favorites (папка Избранное)

 16416   %userprofile%\Local Settings\Temporary Internet Files

 16417   %userprofile%\Cookies

 16418   %userprofile%\Local Settings\History



 16419 * %allusersprofile%\Application Data

 16420   System Root (C:\WINDOWS)

 16421   C:\WINDOWS\System32

 16422   Program Files

 16423   %userprofile%\My Documents\My Pictures (Мои рисунки)

 16424   %userprofile%

 16425   C:\WINDOWS\System32

 16427   C:\Program Files\Common Files

 16429 * %allusersprofile%\Templates (папка Шаблоны)

 16430 * %allusersprofile%\Documents (папка Мои документы)

 16431 * %allusersprofile%\Start Menu\Programs\Administrative Tools

 16432   %userprofile%\Start Menu\Programs\Administrative Tools

 16437 * %allusersprofile%\Documents\My Music (папка Моя музыка)

 16438 * %allusersprofile%\Documents\My Pictures (Мои рисунки)

 16439 * %allusersprofile%\Documents\My Videos (папка Мои видеозаписи)

 16440   C:\WINDOWS\resources

 16441   C:\WINDOWS\resources\0409

 16443   %userprofile%\Local Settings\Application Data\Microsoft\CD Burning

* Для удобства выделены DIRID ссылающиеся на %allusersprofile%

Важно! Помните, что во время установки Windows переменная %userprofile% =%defaultuser% (других пользователей еще не существует)

К содержанию


Загрузка драйверов


Для начала Вам нужно обзавестись необходимыми драйверами. Начните с сайта производителя Вашего оборудования. Если искомый драйвер там не обнаружен, попытайтесь отыскать его при помощи поисковой системы (например, Google).



Методы деинсталяции.


Один из проблемных моментов - это корректное удаление установленного приложения.

Первое, что нужно сделать - это еще при установке приложения добавить строку в реестр для удаления приложения с указанием сеции, отвечающей за деинсталяцию:

HKLM,"%Key%","DisplayName",,"SOMEAPP"

HKLM,"%Key%","DisplayIcon",,"16422,"SOMEAPP",0

HKLM,"%Key%","UninstallString",,"rundll32.exe advpack,LaunchINFSectionEx %17%\SOMEONE.inf,Uninstall"

HKLM,"%Key1%","SOMEAPP",0x00020000,"C:\Program Files\SOMEAPP\SOMEAPP.exe"

HKLM,"%Key2%","Start Minimized",0x10001,01,00,00,00

Способ 1. "По учебнику"

Используем инструкции DelDirs и DelFile.

[DefaultInstall]

CopyFiles=files

[files]

filename.ext

[DestinationDirs]

files= 11, APPDIR

; из секции деинсталяции сначала запускаем удаление всех файлов, для этого желательно

; создавать отдельную секцию со списком удаляемых файлов, хотя допустимо и использование секции

; со списком для копирования (если нет переименования, специальных флагов)

[Uninstall]

DelFiles=files

RunPostSetupCommand=SOMEAPP.AdinfCall

; затем запускаем через RunPostSetupCommand библиотеку advpack для обработки команды Deldirs

[SOMEAPP.AdinfCall]

Commandline="""%11%\rundll32.exe"" advpack,LaunchINFSection ""%17%\SOMEONE.inf"",Del.Folders,4"

[Del.Folders]

Deldirs=dirs

;передаем список директорий для удаления

[dirs]

%11%, APPDIR

Важно! Нужно учитывать, что в случае, когда не все файлы удалены из папок, DelDirs не сработает. Если вы удаляете папку содержащую подпапки (даже пустые), DelDirs не сработает.

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

Способ 2. "Радикальный"

Используется внутреняя команда библиотеки rundll32 DelNodeRunDLL32 для удаления непустых директорий.


Будем продолжать работать с предыдущим примером:

[Uninstall]

DelFiles=files

RunPostSetupCommand=Del.Folders

[Del.Folders]

rundll32.exe advpack,DelNodeRunDLL32 "%11%, APPDIR"

Важно! Нужно учитывать, что в случае, когда файлы в удаляемой папке заняты системой или выполняются, DelNodeRunDLL32 не сработает. В следующем способе вы увидите метод решения этой проблемы с помощью консольной команды TASK KILL.

Способ 3. "Готовый шаблон"

Данный способ предложил Jameszero

[Version]

Signature="$Windows NT$"

AdvancedINF=2.5

[Optional Components]

Uninst7

[Uninst7]

OptionDesc   =%PROG_NAME%

Modes    =0,1,2,3

AddReg   =PROG.AddReg

ProfileItems   =PROG.AddShortcut

Uninstall   =mUninst.Uninstall

[DefaultInstall]

OptionDesc   =%PROG_NAME%

Modes    =0,1,2,3

AddReg   =PROG.AddReg

ProfileItems   =PROG.AddShortcut

Uninstall   =mUninst.Uninstall

[Uninstall]

BeginPrompt   =BeginUnInsPrompt

RunPreSetupCommands =Close.Prog:1

RunPostSetupCommands =Dir.Delete

EndPrompt   =EndUnInsPrompt

DelReg   =PROG.DelReg

ProfileItems   =PROG.DelShortcut

[BeginUnInsPrompt]

Title=Деинсталляция %PROG_NAME%

Prompt=Вы действительно хотите удалить %PROG_NAME% и все компоненты программы?

ButtonType=YESNO

[Close.Prog]

TASKKILL /F /IM %PROG_1%

TSKILL %PROG_2%

[Dir.Delete]

rundll32.exe advpack.dll,DelNodeRunDLL32 %16422%\%PROG_DIR%

[EndUnInsPrompt]

Prompt=Программа %PROG_NAME% удалена.

[PROG.AddReg]

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayIcon",0,"%16422%\%PROG_DIR%\%PROG_1%"

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayName",,%PROG_NAME%"

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","DisplayVersion",,"v%PROG_VERS%"



HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","Publisher",,"%PROG_MADE%"

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","URLInfoAbout",,"%PROG_URL%"

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon","UninstallString",,"rundll32.exe advpack.dll,LaunchINFSection %17%\%PROG_INF%,Uninstall"

[PROG.DelReg]

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\%PROG_NAME%_addon"

[PROG.AddShortcut]

Name  =%SRTC_NAME%

CmdLine =16422,%PROG_DIR%,%PROG_1%

WorkingDir =16422,%PROG_DIR%

SubDir  =%PROG_SDIR%

InfoTip  =%PROG_INFO%

[PROG.DelShortcut]

Name  =%SRTC_NAME%,0x00000002

SubDir  =%PROG_SDIR%

[Strings]

PROG_DIR ="Miranda IM"

PROG_NAME ="Miranda IM"

SRTC_NAME ="Miranda IM"

PROG_VERS ="0.7"

PROG_MADE ="oszone.net"

PROG_URL ="http://forum.oszone.net/forum-62.html"

PROG_INF ="Uninst7.inf"

PROG_1 =miranda32.exe

PROG_2 =miranda32

PROG_SDIR =""

PROG_INFO =" Программа для общения по ICQ протоколу"

При редактировании только одной секции [String] и переименовании секции инсталляции, можно использовать этот INF-файл для установки/удаления других аддонов. Аддоны должны быть комбинированные, т. е. сначала из Sysoc срабатывает данный INF-файл, а затем из SVCPACK запускается SFX-архив, созданый любым доступным способом, при этом SFX-архив должен просто распаковать файлы в нужную директорию.

Создание ярлыков, внесение информации в реестр (в том числе о деинсталляции) реализовано в INF-файле.

Деинсталляция перенесена из привычного для sysoc аддонов места "Установка компонентов Windows" в "Установку и удаление программ". При деинсталляции будет выдан запрос "Вы действительно хотите удалить такую-то программу?". Если программа в данный момент запущена, она будет выгружена из памяти, далее произойдёт удаление директории с программой, ярлыков и записей реестра.По окончании деинсталляции будет сообщено "Программа такая-то удалена".

 К содержанию


Распаковка драйверов


Теперь мы должны извлечь драйверы из инсталлятора или архива. Лично я предпочитаю 7-zip, но Вы можете использовать любой (ну или почти любой) архиватор, способный это сделать. Правой кнопкой мыши щелкните по архиву с драйверами или по файлу программы установки и выберите пункт меню Распаковать (Extract files...), или что-то подобное. Выберите папку для распаковки и разархивируйте файлы.

Следующий раздел может испугать некоторых начинающих пользователей, однако в конце все будет подробно разъяснено. Вместо того, чтобы использовать все файлы, которые мы распаковали, мы должны выбрать только необходимые файлы, или другими словами убрать мусор. Как же это сделать? В 95% случаев работает следующий способ: откройте INF-файл Вашего драйвера, найдите секцию [SourceDisksFiles] и убедитесь в том, что Вы сохранили все файлы, перечисленные в ней!

Примечание. Для того чтобы сохранить сведения о цифровой подписи, не удаляйте сопутствующие CAT-файлы! CAT-файлы могут отсутствовать, если драйвер не имеет цифровой подписи.

Примечание. Редактирование inf-файла делает цифровую подпись недействительной. Поэтому если вы каким-либо образом изменили содержимое INF-файла из него можно удалить строку CatalogFile=имя_файла_цифровой_подписи.cat, а также одноименный CAT-файл из каталога с драйвером.



Идентификационный заголовок


3.1 Стандартный заголовок

3.2 Драйверный заголовок

3.3 Расширенный заголовок

3.4 Сигнатура системы



Создание ярлыков


Cоздание/удаление ярлыка в контекстном меню "Отправить" (SendTo):

[Version]

Signature="$Windows NT$"

[DefaultInstall]

ProfileItems=PROG.AddShortcut

[Uninstall]

ProfileItems  =PROG.DelShortcut

[PROG.AddShortcut]

Name       = "Send_To_Shortcut",0x00000008,9

CmdLine    = 11,,prog.exe

[PROG.DelShortcut]

Name       = "Send_To_Shortcut",0x0000000A,9

Cоздание и удаление ярлыка в Quick Launch:

[Version]

Signature="$Windows NT$"

[DefaultInstall]

ProfileItems =PROG.AddShortcut

[Uninstall]

ProfileItems =PROG.DelShortcut

[PROG.AddShortcut]

Name  =%SRTC_NAME%,0x00000001

CmdLine  =16422,%PROG_DIR%,%PROG_1%

WorkingDir =16422,%PROG_DIR%

SubDir  =%PROG_SDIR%

InfoTip  =%PROG_INFO%

[PROG.DelShortcut]

Name  =%SRTC_NAME%,0x00000003

SubDir  =%PROG_SDIR%

[Strings]

PROG_DIR ="test_dir"

SRTC_NAME ="Test_Shortcut"

PROG_1  =test.exe

PROG_SDIR ="..\..\Application Data\Microsoft\Internet Explorer\Quick Launch"

PROG_INFO ="Test_Info"

 К содержанию



Глава 3. Создание пакета драйверов.


Это очень просто! Создайте папку D и поместите ваши драйверы в любую подпапку внутри ее. Имя подпапки может быть любым, но я рекомендую использовать для этих подпапок максимально короткие имена. В противном случае значение параметра OemPnPDriversPath в файле может оказаться слишком длинным (максимум 4096 знаков, а для установки при помощи winnt.exe/winnt32.exe только 1024 знака) и помешать успешной установке. После создания необходимой структуры папок поместите ваши драйверы в соответствующие подпапки (распакованные файлы, INF-файлы, но не архивы или программы установки, помните?).

Например, создайте следующую структуру:

Пример с реальными названиями

Примечание. Ранее папка D\3\ для неофициальных (создаваемых самостоятельно) пакетов драйверов не являлось обязательным условием. При использовании интегратора от Bashrat версии 6.05 и выше данное требование является обязательным для обеспечения функциональности KTD с неофициальными пакетами драйверов. Для аддона «Интеграция драйверов» это условие необязательно.

При создании структуры папок пакета драйверов следует придерживаться следующих соглашений.

Название папки

Содержимое

Английское название

Пояснение

A

Additions

Дополнения

B

Broadband

Широкополосные сетевые устройства (*DSL-модемы и им подобные)

C

Chipset

Наборы системной логики (чипсеты)

CPU

Central Processor Unit

Центральный процессор (необходимо для AMD K8)

D

Dial-Up

Модемы

G

Graphics

Видеоадаптеры (графические карты)

L

LAN

Сетевые адаптеры

M

Mass Storage

Контроллеры жестких дисков

P

Printers

Принтеры

S

Sound

Звуковые адаптеры

VMWare

VMWare

Драйверы для виртуальной машины VMWare

W

WLAN

Беспроводные адаптеры

U

USB

USB-устройства (флэшки, фотокамеры)

X

Misc

Разное (все, что не попало в остальные разделы)

Y

Monitor

Мониторы

Z

HID

Устройства ввода (интеллектуальные мыши, клавиатуры, тачпады и т. п.)

<
/p> Жирным выделены названия, использующиеся в официальных пакетах. Безусловно, Вы должны использовать английские названия папок.

Далее в перечисленных выше папках драйверы разделяются по производителям. Названия производителей также рекомендуется максимально сокращать. Например: NVidia – N, ATi – A и т. д.

Внутри папки с именем производителя разные драйверы, как правило, располагаются в папках 1-9.

Это почти все! Правой кнопкой мыши щелкните по папке с пакетом драйверов и выберите Добавить к архиву… (Add files to archive...). Выберите следующие параметры архивации:

Имя архива: DP_НазваниеПакетаДрайверов_wnt5_x86-32_ВерсияПакетаДрайверов.7z, причем имя архива не должно содержать пробелов! Например, название пакета драйверов версии 6.08 для контроллеров жестких дисков будет таким: DP_MassStorage_wnt5_x86-32_608.7z

Формат архива: 7z.

Уровень сжатия: Ultra (для максимально сжатия, при желании Вы можете указать меньший уровень сжатия).

Метод сжатия: LZMA (это значение по умолчанию, не изменяйте его).

Размер словаря: 32 MB Это значение, установленное по умолчанию, требует 369 MB памяти, т. е. объем вашего ОЗУ + файл подкачки должны быть не менее 369 MB. Вы можете увеличить или уменьшить значение этого параметра. Увеличение данного параметра позволят достичь большей компрессии, но требует больше времени для создания архива. Я использую значение 64 MB, для которого требуется 673 MB памяти!

Размер слова: 256.



Рисунок 1 - Создание архива

Можно также создать архив при помощи командной строки, а также включить данную команду в состав пакетного файла. Для этого необходима консольная версия архиватора 7-zip. Команда будет следующей:

7za a DP_Название_пакета_драйверов_wnt5_x86-32_RP.7Z D\* -m0=BCJ2 -m1=LZMA:d25:fb255 -m2=LZMA:d19 -m3=LZMA:d19 -mb0:1 -mb0s1:2 -mb0s2:3 -mx


Использование неподписанных драйверов


Возможно, вы захотите использовать в своем пакете драйверы без цифровой подписи (в каталоге с драйвером нет CAT-файлов). Несмотря на то, что и в официальном интеграторе DriverPacks BASE и в аддоне «Интеграция драйверов» содержится утилита, блокирующая проверку цифровой подписи, проблема с неустановкой неподписанных драйверов решена лишь частично. При установке драйверов ОС Windows использует следующий приоритет (по убывающей):

Новый подписанный драйвер из пакета драйверов.

Старый подписанный из дистрибутива Windows.

Новый неподписанный драйвер из пакета драйверов.

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

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

Обходным путем решения проблемы является удаление старых драйверов из дистрибутива системы. Упрощенно говоря, большая часть драйверов содержится в файлах DRIVER.CAB и SP2.CAB, а сжатые INF-файлы находятся в директории I386. Поэтому необходимо распаковать данный файл удалить, ненужные драйверы и запаковать файл обратно, а также удалить соответствующие INF-файлы из папки I386 и ссылки на них. Хотя теоретически можно выполнить это вручную, на практике это весьма трудоемко и может грозить многочисленными ошибками при установке.

Автоматизировать эту операцию поможет скрипт RusUpdatePack от участника конференции OSZone.net Petya V4sechkin. Данный скрипт поддерживает использование аддонов для удаления ненужных компонентов из дистрибутива ОС. Уже созданы аддоны для удаления драйверов от видеокарт и сетевых адаптеров. По сути аддон «Удаление компонентов» представляет собой список удаляемых файлов. Дальнейшую работу по перепаковке дистрибутива и удалению ссылок на удаленные файлы автоматически проделывает скрипт.

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



Разное


Cоздание папки.

Если надо просто создать пустую папку, без копирования файлов: 

"rundll32.exe IEAKENG.dll, BToolbar_SaveA d:\Folder"

Пример:

[version]

Signature = "$CHICAGO$"

AdvancedINF=2.5

[DefaultInstall]

RunPreSetupCommands=RunPre

[RunPre]

;создаем папку backup на диске d:.

;После создания папки экспортируем в нее REG-файл.

"rundll32.exe IEAKENG.dll, BToolbar_SaveA d:\backup"

"reg export HKLMSOFTWAREMicrosoftWindowsCurrentVersionExplorerAppKey d:\backupAppKeyBackup.reg"

Отмечу интересный момент. Если писать "rundll32.exe IEAKENG.dll, BToolbar_SaveA d:Folder" без слэша, и папка Folder существует, то она удаляется! (по крайней мере в Cmd). 

Полезные утилиты при работе с INF- и CAB-файлами. Ссылка 

Несколько команд интерпретатора advpack, не включенных в Руководство по INF- файлам. Ссылка 

Флаги ProfileItems (опять Gosh).

Есть в руководстве по INF-файлам, но по этому списку более понятна логика складывания флагов:

0x00000001  Создать пункт меню для текущего пользователя

0x00000002  Удалить пункт меню

0x00000004  Создать пункт меню для профиля All Users в папке Пуск\Все программы

0x00000005  Создать пункт меню для профиля Current User в папке Пуск\Все программы

0x00000006  Удалить пункт меню для профиля All Users в папке Пуск\Все программы

0x00000007  Удалить пункт меню для профиля Current User в папке Пуск\Все программы

Копирование файлов из секции CopyFiles

Оказывается, раздел CopyFiles может копировать файл непосредственно в секции [DefaultInstall]! Для этого перед файлом нужно поставить символ @. Следующий пример копирует два файла:

 CopyFiles=@myfile.txt, @anotherfile.txt 

Отображение и запуск файлов.

В процессе установки можно прервать выполнение INF файла для показа пользователю какого-нибудь документа, после закрытия которого установка продолжиться, или запустить определенный процесс. Следующий пример отображает файл справки About.hlp, текстовый файл About.txt и запускает другой INF-файл - Example.inf.


[Version]

Signature=$Chicago$

[DefaultInstall]

AddReg=ExampleView

;Отображение файла справки About.hlp

[ExampleView]

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"WINHLP32.EXE - Main %1%\About.hlp"

;Отображение текстового файла About.txt

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"notepad %1%\About.txt"

;Запуск файла сценария Example.inf

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"rundll setupx.dll,InstallHinfSection DefaultInstall 132 %1%\Example.inf"

; Определяете название, которое будет отображатся в

;окне "Установка Windows..."

[Strings]

ABOUT="О программе ..."

После того, как определенные в секции [ExampleView] команды выполнятся, записи, добавленные в реестр, будут автоматически удалены из него. Таким способом можно запускать и другие процессы, например, аплеты Панели управления:

Код:

;Запуск апплета Панели управления - Свойства: Система (SYSDM.CPL)

HKLM,Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup,%ABOUT%,,"rundll32 shell32,Control_RunDLL SYSDM.CPL" 


Скрипты общего назначения


4.1 Выполняемая секция

4.1.1 Параметры

4.1.2 Реализация Active Setup (AdvancedINF)

4.1.3 Дополнительные ключи и флаги запуска

4.1.4 Суффиксы операционной системы

4.1.5 Дочерние секции

4.2 Секция Per User (Active Setup)



Автоматическая установка дополнений (панелей управления и т. д.) к драйверам


Дополнениями являются различные программы от производителей оборудования или сторонних разработчиков, предоставляющие пользователям возможность дополнительной настройки оборудования и таким образом являются пользовательским расширением драйверов. При установке дополнений мы сталкиваемся с двумя проблемами:

Тихая установка.

Зависимость установки конкретной программы от типа установленного оборудования.

Если с решением первой проблемы нам поможет разобраться раздел Приложения, то вторую проблему рассмотрим подробнее здесь.

В официальных пакетах, а также при интеграции, рассчитанной на использование интегратора DriverPacks BASE, для установки дополнений служит программа DPFinisher.exe. За документацией к ней рекомендую обратиться на «сайт производителя» www.driverpacks.net.

В аддоне BoaSoft установкой обновлений занимается командный файл Panels.cmd. Рассмотрим его работу на примере:

REM Проверяем наличие инсталлятора контрольной панели

IF EXIST %C%\ATI\CCP\Setup.exe (

REM Проверяем наличие установленного драйвера

IF EXIST %DRV%\ati2mtag.sys (

REM Если оба условия верны пишем сообщение в лог и переходим к установке

ECHO. >> %LOG%

ECHO %DATE% %TIME% >> %LOG%

ECHO Old Ati driver found >> %LOG%

ECHO Install Ati control panel >> %LOG%

REM Запускаем установку панели управления с ключами тихой установки

START /WAIT %C%\ATI\CCP\Setup.exe -s -f1 %C%\ATI\CCP\shortcut.iss

)

)

REM Переходим к проверке наличия следующего драйвера и установке следующих панелей

Таким образом, чтобы добавить собственные дополнения, необходимо внести в файл Panels.cmd секцию по образу и подобию вышеприведенной. Разумеется не забывайте изменять пути, имена файлов и ключи для тихой установки.



Выполнение INF-файла через Rundll32.exe


INF-файл можно выполнить путем вызова из коммандной строки через системную библиотеку Rundll32.exe (также в Win98 Rundll.exe). Кроме того, Rundll32 можно вызывать прямо из INF-файла, используя RunPreSetupCommands и RunPostSetupCommands (например, вызвать секцию из другого или текущего INF-файла).

Вызов через интерпретатор Setupx.dll (setupapi.dll)

Синтаксис:

RunDll32.exe setupx.dll, InstallHinfSection <section> <reboot-mode> <inf-name>

RunDll32.exe setupapi.dll, InstallHinfSection <section> <reboot-mode> <inf-name>

1. <section> - Исполняемая секция

2. <reboot-mode> - Флаг перезагрузки

3. <inf-name> - имя и путь к inf- файлу

После такого вызова в INF-файле setupx.dll повторно ее вызывать нельзя, так как это может привести к перезагрузке или другим неприятным последствиям. Для многократных вызовов из файла интерпретатора лучше использовать RunOnce (см.ниже).

Имя исполняемой секции: если секция с таким именем не будет найдена, то ничего не будет "выполняться", и сообщений об ошибках тоже не будет.

Флаги перезагрузки: 

Интерпретатор понимает следующие значения этого параметра:

NeverReboot                  0 или 128 - не перезагружать компьютер.

AlwaysSilentReboot      1 или 129 - обязательно (и без вопросов) перезагружать компьютер.

AlwaysPromptReboot   2 или 130 - спросить у пользователя, перезагружать компьютер или нет.

SilentReboot                   3 или 131 - определить, надо или нет перезагружать компьютер. Если оказалось, что перезагружать надо, то выполнить перезгрузку (без вопросов).

PromptReboot                4 или 132 - определить, надо или нет перезагружать компьютер. Если оказалось, что перезагружать надо, то спросить у пользователя, перезагружать компьютер или нет.


Параметр 132 - рекомендованный режим перезагрузки (после "выполнения").

Каким образом интерпретатор определяет необходимость перезагрузки? Если при "выполнении" обновлялись системные файлы, и хотя бы один из них не смог быть обновлён из-за того, что в это время использовался системой, то перезагрузка необходима (сразу после перезагрузки произойдёт обновление файлов и процесс будет завершён).

Rundll32.exe может работать в режиме совместимости с Win9X (rundll32 setupx.dll) и в режиме совместимости с NT (rundll32 setupapi.dll). Одним из отличий 9X и NT вариантов выполнения является набор используемых констант LDID (logical directory identifier - переменных путей к системным папкам).

Важно! Именно через Setupx.dll (Setupapi.dll), происходит выполнение INF-файла при запуске его из контекстного меню командой "Установить". 

 Вызов через advpack.dll

Синтаксис

RunDll32.exe advpack.dll, LaunchINFSectionEx <inf-file>, <section>, <cab>, <flag1>, <flag2>, 0

1. <inf-file> имя и путь к INF-файлу

2. <section> Исполняемая секция

3. <cab> Путь к CAB-файлу если INF-файл запакован (в этом случае параметр <inf-file> просто содержит имя файла без пути)

4. <flag1> - Флаг режима установки

5. <flag2> - Флаг перезагрузки

6. <0- nShow> не используется, равен 0, приведен только для информации о синтаксисе функции.

 Флаг режима установки:

4      Тихий режим без UI

8      Не запускать GrpConv

16   Обновление программы (Force self-updating on user's system)

32   Сделать резервные копии файлов (точку отката) до установки

64   Откатиться до предыдущего состояния

128 Проверить резервные копии файлов

256 Полностью откатиться до предыдущего состояния

512 Принудительная задержка регистрации OCX (Force delay of OCX registration) 

Эти флаги могут складываться.


Например, довольно распрастраненный режим Quiet | Backup (32+4) = 36.

Флаг перезагрузки:

Без данного флага используется Smart Reboot, т. е. перезагрузка по требованию.

A - Перезагрузка всегда

I - Тот самый Smart Reboot, по умолчанию стоит этот флаг

N - Не перезагружаться 

Пример с распаковкой INF из CAB:

rundll32.exe advpack.dll,LaunchINFSectionEx myinf.inf,,c:\temp\mydata.cab,36



Пример с откатом установки INF:

rundll32.exe advpack.dll,LaunchINFSectionEx c:\windows\inf\myinf.inf,,,256

Важно! При использовании в INF-файле инструкции Reboot и вызове через Rundll32 данного INF-файла, будет обработан режим перезагрузки, указанный в строке вызова через Rundll32.exe. Напомню, что в руководстве по INF-файлам написано:

Reboot= Флаг перезагрузки после выполнения пакета процедур. Этот флаг может быть отменён флагом вызова скрипта (через точку входа LaunchINFSectionEx)

Важно! Синтаксис описанных команд содержит запятые и пробелы. Не забывайте их ставить, иначе команда не сработает.

Важное замечание по синтаксису INF- скрипта. При вызове интерпретатора из INF-файла имеются различия вызова через setupapi.dll и advpack.dll. Вызов setupapi.dll должен осуществляться через инструкцию Run= , а вызов advpack.dll - только через RunPostSetupCommands=

Пример:

[DefaultInstall]

RunPostSetupCommands=Section.advpack

Run=Section.setupapi

[Section.advpack]

Rundll32.exe advpack.dll, LaunchINFSectionEx infname.inf, SectionToRun , , 4, 64

[Section.setupapi]

Rundll32.exe setupapi.dll, InstallHinfSection SectionToRun 132 infname.inf 

Использование RunOnce

Для запуска исполняемых файлов после того, как INF-файл исполнен, можно использовать RunOnce. Команды из RunOnce выполняются после перезагрузки или следующего входа в систему. Ключ регистрации RunOnce дает возможность выполнить файлы в "тихом" режиме (без подсказок пользователю) или в виде списка программ или действий ("Установка Windows устанавливает следующие элементы"), которые видит пользователь.После выполнения программ записи из RunOnce удаляются.

Для "тихого режима" добавляется путь к приложению в раздел реестра: HKLM, Software\Microsoft\Windows\CurrentVersion\RunOnce, "APPNAME", "APP_PATH"

Для режима с отображением установки в виде окна со списком устанавливаемых программ добавляется путь к приложению в раздел реестра: HKLM, Software\Microsoft\Windows\CurrentVersion\RunOnce\Setup, "APPNAME", "APP_PATH"

"APPNAME" - во втором варианте будет отображатся в окне установки. 

К содержанию


Использование пакета драйверов


Напоследок несколько слов об использовании Вашего пакета. Фактически этот абзац добавлен шутки ради. Все и так просто. Нужно поместить Ваш пакет драйверов в папку DriverPacks интегратора DriverPacks BASE (или в соответствующую папку аддона). После этого остается лишь запустить пакетный файл, выбрать метод интеграции драйверов и все! Не нужно больше вносить изменения в файлы winnt.sif и txtsetup.sif. Вообще больше ничего не нужно делать!



Автор: Вим Лирс (Wim Leers), Артем Васьков aka Fanzuga

Иcточник: DriverPacks.net, unattended.oszone.net

Наши форумы

Опубликована - 05.10.06


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 05.10.06

Спроeктировала и разработала сайт Ginger



Копирование файлов


6.1 Секции копирования

6.2 Директории назначения

6.3 Динамические директории (AdvancedINF)

6.4 Флаги копирования

6.5 Удаление файлов и директорий



Операции с системным реестром


7.1 Запись и удаление ключей реестра

7.2 Типы параметров реестра

7.3 Удаление файлов при следующей перезагрузке

7.4 Переименование объектов и смена атрибутов

7.5 Создание точки отката реестра (AdvancedINF)



Zip


7-Zip - бесплатный архиватор, распространяющийся по лицензии GNU LGPL. Если вы с ним не знакомы, то более подробную информацию вы найдете на сайте 7-Zip. С его помощью можно создавать бесключевые SFX, хотя процесс их создания несколько длиннее, чем у WinRAR.

Для начала нужно запаковать содержимое нашей папки в 7-Zip архив. Сделать это можно через 7-Zip файл-менеджер. Запустив его, мы переходим в папку, в которой находится административная установка Adobe. В эту же папку нужно положить файл StartX.exe (его назначение я объясню ниже). Выделяем все файлы

и жмем Добавить

Именуем архив по желанию (скажем, Adobe7.7z), выбираем формат 7z, максимальный уровень сжатия и жмем ОК. На выходе получаем файл Adobe7.7z, из которого нам предстоит сделать SFX.

Теперь нужно создать конфигурационный файл для SFX. Его можно сделать в Блокноте. Единственное, но обязательное условие - он должен быть в кодировке UTF-8. В нашем случае он будет выглядеть так:

;!@Install@!UTF-8!

RunProgram="StartX.exe /WAIT \"msiexec /i Adobe7.msi /qn\""

;!@InstallEnd@!

Выглядит сложно, но сейчас все прояснится. Первая и последние строки просто обозначают начало и конец конфигурационного файла. Средняя строка - команда, которая будет выполнена после распаковки архива. Непосредственно команда заключается в кавычки и помещается после RunProgram=. Утилита StartX.exe

является эквивалентом консольной команды START и поддерживает такие же ключи. Ее наличие необходимо для установки MSI пакета, извлеченного из 7-Zip SFX. Если попытаться сделать нечто вроде RunProgram="Adobe7.msi /qn", то запуск завершится ошибкой. Два обратных слэша (\) просто предваряют кавычки, находящиеся внутри команды.

Сохраняем конфигурационный файл с именем config.txt в ту же папку, где Adobe7.7z, и переходим к завершающей стадии создания SFX.

Из инсталляционной папки 7-Zip нужно взять SFX модуль 7zS.sfx и скопировать его к файлам Adobe7.7z и config.txt. Вы можете сжать модуль утилитой UPX. Это уменьшит размер модуля примерно со 131 кб до 58 кб. Делается это командой

upx --best 7zS.sfx

Достаточно это сделать один раз, и можно использовать сжатый модуль в дальнейшем.

Примечание. Примите к сведению, что некоторые антивирусные программы ошибочно воспринимают SFX модуль, сжатый при помощи UPX, как вирус. Если вам нужно гарантировать успешную распаковку SFX архива в любых условиях, не сжимайте модуль при помощи UPX.

Теперь, когда в одной папке собраны все три файла (adobe7.7z, config.txt и 7zS.sfx), нужно из командной строки выполнить следующую команду

COPY /b 7zs.sfx + config.txt + adobe7.7z adobe7.exe

Через мгновение в папке появится файл adobe7.exe. Это и есть наш SFX. Его запуск инициализирует распаковку архива во временную папку, запуск команды из конфигурационного файла, и удаление распакованных файлов по окончании установки.


SFX-модуль архиватора 7-Zip не умеет создавать ярлыки, но есть замечательный модифицированный модуль, который легко справляется с этой задачей. Все подробно расписано в справке модуля, где также имеется пример, включающий создание ярлыков.



Автор: Вадим Стеркин aka Vadikan

Иcточник: unattended.oszone.net

Наши форумы

Опубликована - 23.12.2007


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 23.12.2007

Спроeктировала и разработала сайт Ginger



Работа с INI-файлами


8.1 Создание и удаление строк в INI-файле

8.2 Создание и удаление пользовательских ярлыков с помощью INI-файлов



Разное


9.1 Диалоговые окна (AdvancedINF)

9.2 Деинсталляция приложения

9.3 Другие точки входа в библиотеки интерпретаторов

9.4 Секция strings (Объявление строчных переменных)

9.5 Регистрация и отмена регистрации библиотек (AdvpackINF)

9.6 Добавление приложения в пользовательскую и общую автозагрузку при входе в систему



[Branding]


Этот раздел файла unattend.txt содержит параметры корпоративной настройки Internet Explorer для автоматической установки. Если таковых нет, то используются стандартные настройки Windows 2000.

BrandIEUsingUnattended

Значение: Yes | No.

Определяет файл, который будет использован для корпоративной настройки Internet Explorer при автоматической установке. Если установить “Yes”, то для корпоративной настройки обозревателя будет использован файл unattend.txt, исходя из параметров, заданных разделами файла ответов, связанными с обозревателем: [Proxy], [URL], и [Favorites]. Если установить “No”, то будет использован .ins – файл, назначенный в параметре IEBrandingFile.

Примечание. Этот параметр не требуется, если Вы не изменяете настройки обозревателя.

IEBrandingFile

Значение: <имя файла> 

Определяет имя .ins - файла (создаваемого IEAK), используемого для корпоративной настройки Internet Explorer. Если этот параметр определен, то все прочие разделы, связанные с корпоративной настройкой Internet Explorer, игнорируются. 

Примечание. Названный файл должен присутствовать в корне каталога \$OEM$ общего ресурса с установочными файлами.



[FavoritesEx]


Значение: Заголовок[#]=”<Название Сайта>.url”

URL[#]=”<Адрес сайта>”

Этот раздел содержит стандартные параметры папки «Избранное» обозревателя Windows 2000. Если раздел отсутствует, используются значения по умолчанию. Например:

[FavoritesEx]

Title1="MSN.url"

URL1="http://www.microsoft.com/"

Title2="Cable News Network.url"

URL2="http://www.cnn.com"

Title3="MSNBC.url"

URL3="http://www.msnbc.com"

Title4="USA Today.url"

URL4="http://www.usatoday.com"



[Proxy]


Этот раздел содержит параметры прокси-сервера для обозревателя Windows 2000. Если данный параметр отсутствует, то используются настройки по умолчанию.

FTP_Proxy_Server

Значение: <URL или IP-адрес> 

Определяет URL или IP-адрес FTP прокси-сервера в сети. Например:

FTP_Proxy_Server = http://proxyserver:80

Gopher_Proxy_Server

Значение: <URL или IP-адрес> 

Определяет URL или IP-адрес Gopher прокси-сервера в сети. Например:

Gopher_Proxy_Server = http://proxyserver:80

HTTP_Proxy_Server

Значение: <URL или IP-адрес> 

Определяет URL или IP-адрес HTTP прокси-сервера в сети. Например:

HTTP_Proxy_Server = http://proxyserver:80

Примечание. Данный параметр необходим, если используете параметр Use_Same_Proxy (один прокси-сервер для всех протоколов).

Proxy_Enable

Значение: 1 | 0 

Определяет, используется ли прокси-сервер для соединения с сетью Интернет. Значение «1» - «Да», «0» -  «Нет».

Proxy_Override

Значение: <список IP адресов>

Value: <list of IP addresses>

Определяет список IP-адресов, разделенных точками с запятой, для обхода прокси-сервера. Список заключается в кавычки, если адресов больше одного. Также список может содержать строку <local> для перекрытия локальных адресов (не использовать прокси-сервер для локальных адресов). Например:

Proxy_Override = <local>

Secure_Proxy_Server

Значение: <URL или IP-адрес> 

Определяет IP или URL-адрес прокси-сервера Secure в сети. Например:

Secure_Proxy_Server = http://proxyserver:80

Socks_Proxy_Server

Значение: <URL или IP-адрес> 

Определяет IP или URL-адрес Socks прокси-сервера в сети. Например:

Socks_Proxy_Server = http://proxyserver:80

Use_Same_Proxy

Значение: 1 | 0 

Определяет, будет ли один и тот же прокси-сервер использован для всех протоколов. Значение «1» - «Да», «0» -  «Нет». Если этот параметр назначен, значение прокси-сервера HTTP используется для всех других протоколов. 

Наверх страницы



[URL]


Этот раздел содержит стандартные настройки адресов URL для обозревателя Windows 2000. Если таковых нет, используются значения по умолчанию для Windows 2000.

This section contains default URL settings for the Windows 2000 browser. If not present, the default for Windows 2000 is used.

AutoConfig

Значение: 1 | 0

Определяет, может ли обозреватель быть настроен с сервера автоматически. Значение «1» – «Да», «0» – «Нет».

AutoConfigJSURL

Значение: <адрес URL>

Определяет URL-адрес файла сценария на языке JavaScript, настраивающего параметры прокси-сервера  обозревателя автоматически. Например:

AutoConfigJSURL = http://configserver/autoconfig.js

AutoConfigURL

Значение: <адрес URL>

Value: <URL>

Определяет URL-адрес .ins – файла автоматической настройки параметров прокси-сервера  для обозревателя. Например:

AutoConfigURL = http://configserver/autoconfig.ins

Help_Page

Значение: <адрес URL>

Определяет URL-адрес для справки в формате HTML. Например:

Help_Page = http://configserver

Home_Page

Значение: <адрес URL> 

Определяет URL-адрес домашней страницы по умолчанию. Например:

Home_Page = http://www.msn.com/

Quicklink

Значение: <Имя сайта, URL-адрес>

Определяет ярлыки в папке «Ссылки», вложенной в папку «Избранное» (раздел [FavoritesEx]). Этот параметр – набор из строк “Quick_Link_N_Name” и “Quick_Link_N”, где N – числовое обозначение для сайта и его URL-адреса. Например:

Quick_Link_1_Name = "Домашняя страница Microsoft"

Quick_Link_1 = http://www.microsoft.com/

Quick_Link_2_Name = "Домашняя страница Microsoft Россия"

Quick_Link_2 = http://www.microsoft.com/Rus



ACDSee 9.x


MSI-файл программы ACDSee упакован при помощи InstallShield, поэтому помимо ключей тихой установки можно также передать в командной строке свойства установщика Windows:

%systemdrive%\Install\acdsee.exe /s /v"/qn USERNAME=Имя SLL_LICENSENUMBER=123456-12345-123456-1234567 LICENSE_MODEL=Full YAHOO_TOOLBAR_INSTALL=0 AgreeToLicense=Yes REBOOT=REALLYSUPPRESS"



Аддоны, использующие для интеграции SVCPACK.


Изначально механизм SVCPACK предназначался для установки обновлений, вышедших после выпуска ОС. Однако вместо обновлений можно устанавливать и другие приложения. Самое главное преимущество этого способа - SVCPACK обрабатывается за 13 минут до окончания установки Windows (T13), так сказать на "высоком" уровне, что позволяет использовать оригинальный установщик программы.

Для создания аддона этого типа используется “тихая установка” (с помощью ключей приложений или программ, скрывающих окна). Из конфигурационных файлов обычно используется Run, в котором указывается имя исполняемого файла тихого установщика, располагающегося в папке Files\SVCPACK аддона. Однако при необходимости можно применять и другие конфигурационные файлы: KillWFP.lst, Start, Finish, Required, Conflict, используемые на этапе интеграции аддона в дистрибутив (возможна ситуация, когда в аддоне вообще не нужны конфигурационные файлы, например аддон состоит из CAT-файлов).

В процессе работы скрипта Update Pack все файлы из папки аддона Files\ForceCopy\SVCPACK копируются в папку I386\SVCPACK дистрибутива Windows. Вся последовательность записей из файла Run добавляется в секцию [SetupHotfixesToRun] файла I386\svcpack.inf дистрибутива Windows.

Приложения, внесенные в секцию [SetupHotfixesToRun] файла svcpack.inf и находящиеся в I386\SVCPACK, начинают поочередно выполняться на Т13 .

В аддонах типа SVCPACK обычно используют SFX архивы (7z, RAR, и т.д.), либо исполняемые файлы, которые могут быть использованы и для установки на "живую" систему или "тихой" установки.

Здесь нужно сделать отступление и рассказать об аддонах-конструкторах. Именно способ SVCPACK как нельзя лучше подходит для создания конструкторов. В таком конструкторе отсутствует дистрибутив. Это уменьшает размер скачиваемого аддона и оставляет выбор пользователю, так как зачастую конструктор подходит для разных билдов и даже версий программы (например, ACDSee 10 и ACDSee Pro2, KLite Codec Pack Full и Mega Pack).
Вместо дистрибутива в папку Files\ForceCopy\SVCPACK помещают файл пустышку ( для примера) или файл контейнер (архив с необходимыми для установки ключами), либо ничего не кладут (смотрите инструкцию к аддону). Рассмотрим пример такого аддона- конструктора типа SVCPACK: Total commander

Структура аддона:

TCPP70RU (папка аддона)

    +Files (папка файлов аддона)

           -+Compresed

           -+ForceCopy

             --+SVCPACK (папка, копируемая при интеграции в I386\SVCPACK)

                ---TCPP70RU.exe - файл пустышка

                               

       -Addon.nfo        

       -RUN           > (конфигурационные файлы)

Содержимое конфигурационного файла RUN: 

TCPP70RU.exe /s      - запускает инсталлятор на Т13 с ключом /s.

Преимущество рассмотренного аддона очевидно - какая бы версия TC не вышла, вам достаточно найти дистрибутив и поместить его в аддон, переименовав в TCPP70RU.exe, не дожидаясь, пока автор аддона создаст новую версию. В типе SYSOC для использования конструктора необходимо править INF- и CAB-файлы, что требует некоторых знаний.

Важно! В конфигурационном файле Run также возможно указывать ключи запускаемых приложений: setup.exe /s.

Важно! Если исполняемых файлов или SFX архивов в аддоне несколько, порядок их запуска определяется в конфигурационном файле Run.

Важно! Если аддон меняет какие-либо системные файлы, не забудьте про файлы каталогов безопасности ( *.cat).Если такие файлы необходимы, они просто размещаются в папке SVCPACK аддона, скрипт их скопирует и добавит в Svcpack.inf автоматически. В файле Run их прописывать не надо!

Еще один пример аддона-конструктора можно посмотреть здесь 

К содержанию


Аддоны, использующие SYSOC


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

Как создать собственный INF для установки нужной программы? 

Практически любое приложение устанавливается в три этапа:

Размещение необходимых файлов на жестком диске, создание ярлыков;

Запись ключей реестра;

Регистрация библиотек;

С помощью сторонних утилит (RegShot, Ashampoo Uninstaller) собираем эту информацию об установке программы для которой будет создаваться аддон.

Затем упаковываем все необходимые файлы в СAB-архив (необязательно, но в целях экономии места желательно), а установка этих файлов осуществляется с помощью INF-скрипта, который пишется самостоятельно - на основе полученной информации о папках назначения, копируемых в них файлов, добавления ключей реестра, регистрации библиотек dll.

Для построения аддона данного типа необходимо использовать следующие конфигурационные файлы: Sysoc, Txtsetup, Dosnet. Строки из этих конфигурационных файлов добавляются в тело их "тезок" в дистрибутиве.

Файл Txtsetup.sif фактически является списком копируемых файлов для текстового этапа установки, с его помощью копируются файлы и кусты реестра с диска в папку установки Windows. С помощью Sysoc.inf менеджер установки строит список файлов для установки дополнительных компонентов. Затем этот список сверяется с файлом Unattend.txt (Winnt.sif), если он есть. По результатам сверки образуется конечный список устанавливаемых компонентов. Файл Dosnet.inf содержит остальные данные для программы установки на текстовом этапе, в том числе папку установки Windows.

Фактически аддон типа SYSOC работает следующим образом. При компиляции скриптом Update Pack секции из Sysoc, Txtsetup, Dosnet, находящихся в корневой папке аддона переносятся в дистрибутивные аналоги. Файлы из папки аддона Files копируются в папку дистрибутива I386.
Затем на текстовом этапе файлы аддона, прописанные в списке Txtsetup.sif, копируются из дистрибутива в папку назначения для последующей установки вместе с дополнительными компонентами из Sysoc.inf. Файл Dosnet.inf используется только при установке Windows с жёсткого диска.

Пример аддона, использующего SYSOC (addon FoxIT Reader)

FOXITR2 (папка аддона)

    +Files(папка файлов аддона)

           -+Compresed

           -+ForceCopy

             --Foxitr2.cab (cab-архив содержит 3 файла собственно программы)

                *---fxdecod1.dll

                *---FoxitReader.exe

                *---lang_ru_ru.xml

             --Foxitr2.in_(INF-файл запакованный в CAB-архив)

                               

       -Addon.nfo        

       -Dosnet

       -Txtsetup        >(конфигурационные файлы)

       -Sysoc

Содержимое Foxitr2.inf (частично)  

.......

[SourceDisksFiles]

;Generated with gen_sdf_section script

FoxitReader.exe = 1

fxdecod1.dll = 1

lang_ru_ru.xml = 1                           -Определение копируемых файлов



[DestinationDirs]                               и папок назначения;

DefaultDestDir = 11

FOXITR.Install.Copy = 16422, "Foxit Reader"

.......

[FOXITR.Install.Reg]

HKCR,".pdf",,%REG_SZ%,"FoxitReader.Document"

HKCR,".pdf","Content Type",%REG_SZ%,"application/pdf"   - Добавление параметров в реестр;

.......

Файл Sysoc.inf после компиляции аддона.  

[Components]

 ....

  DrWeb=ocgen.dll,OcEntry,DrWeb.inf,hide,7

  FOXITR2=ocgen.dll,OcEntry,FOXITR2.INF,,7

  klite=ocgen.dll,OcEntry,klite.inf,HIDE,7

Важно! При создании аддонов sysoc с копированием файлов из CAB-файла, следите, чтобы имена файлов в CAB-файле не совпадали с именами файлов в i386 (сжатыми и несжатыми), в противном случае вместо файла из cab-файле будет скопирован файл из i386.

Важно! Чтобы интегрировать аддон, но при этом НЕ уставить его, чтобы он был доступен впоследствии для установки через менеджер компонентов Windows, необходимо в установочных INF-файлах каждого аддона закомментировать параметр Modes точкой с запятой.

;Modes=0,1,2,3

Важно! Не забывайте про секцию [DefaultInstall] в вашем INF-файле. Она необходима для того, чтобы INF-файл устанавливался в будущем из контекстного меню (а не через rundll32), если предполагается использовать аддон на установленной системе. Пример: аддон Opera использует для автоустановки секцию [opera], но наряду с этим присутсвтует секция [DefaultInstal].

Важно! Файлы Sysoc, Txtsetup и Dosnet должны заканчиваться пустой строкой.

Важно! Про файлы Txtsetup.sif и Sysoc.inf подробнее читайте в Приложениях 3,4. 

К содержанию


Аддоны, изменяющие дистрибутив.


Это тип аддонов, изменяющих дистрибутив в процессе интеграции обновлений и других аддонов (не всегда), т. е. не в процессе установки, в отличие от других типов.

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

Пример "мирного" применения аддона, изменяющего системные ресурсы, - это аддон Vista Path, изменяющий стандартные иконки на более красивые. Другой пример - аддон ZZ_multiboot, который не изменяет дистрибутивную папку (I386), но создает структуру папок и записывает необходимые файлы и модифицирует их для получения мультизагрузочного диска. Причем можно создавать диски N-in-1 (например Windows Home и Proffesional версий + множество вариантов загрузки из стандартного аддона Z_DRV_INST).

Еще пример - это аддон Z_DRV_INST, который не модифицирует файлы в дистрибутиве, но слегка изменяет и дополняет его новой функциональностью (подменой Setup.exe во время установки ОС и установкой драйверов).

При затрагивании важных системных файлов приходится иметь дело с защитой системных файлов Windows (Windows File Protection). Как ее обойти, читайте здесь:Приложение 6. Патч SFCFiles.DLL. Если по каким-либо причинам использовать патч sfcfiles.dll нельзя или невозможно, остается только посоветовать эту статью (раздел Modify PE).

 К содержанию



Административные и конфигурационные настройки RIS


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

У служб удаленной установки есть разнообразные опции и конфигурационные параметры, позволяющие гибко подстраиваться под различные условия. Например, можно задать тип автоматического присвоения имени компьютера, контейнер службы каталогов Active Directory для хранения создаваемых учетных записей клиентских компьютеров, а также доступные пользователю образы операционной системы. Более подробную информацию обо всех настройках можно найти в статье Руководство по работе со службами удаленной установки в Windows 2000 Windows 2000 Remote OS Installation Walkthrough (EN), а также в справке по службам удаленной установки, которая содержится на установочном на компакт-диске Windows 2000 Server или на веб-узле Windows 2000 Server (EN).  

Для настройки параметров RIS существует четыре способа.

Первый способ заключается в указании серверов RIS, которым разрешена работа в сети. Эта опция предотвращает обслуживание клиентов неавторизованными серверами, тем самым обеспечивая обслуживание клиентов только административно назначенными серверами. Запуск в сети неавторизованного сервера RIS повлечет его автоматическое выключение, лишающее возможности обслуживать клиентов. Таким образом, серверы RIS должны пройти авторизацию, прежде чем приступать к обслуживанию клиентов.

Параметр Расположение Значение по умолчанию
Авторизация (Authorization) Оснастка MMC Диспетчер DHCP (DHCP Manager) Отключен
 

Вторым способом является использование оснастки Active Directory - пользователи и компьютеры (Active Directory - Users and Computers). С ее помощью можно настроить различные параметры обслуживания клиентов сервером RIS. Оснастку, изображенную на Рисунке 5, можно открыть из меню Пуск (Start), перейдя в Программы (Programs), затем в Администрирование (Administrative Tools) и выбрав Active Directory - пользователи и компьютеры (Active Directory - Users and Computers). ИТ-специалисты могут воспользоваться инструментами администрирования для удаленного управления серверами RIS с компьютеров, на которые установлена ОС Windows 2000 Professional.
Для этого нужно установить пакет средств администрирования (Administrator Tools package) с компакт-диска Windows 2000 Server.

Примечание. Осуществляя удаленное администрирование сервера RIS, администратор не сможет добавить новые образы ОС или удостовериться в работоспособности сервера. Тем не менее, все остальные конфигурационные параметры будут доступны.  



Рисунок 5 – Оснастка Active Directory - пользователи и компьютеры  


В оснастке Active Directory - пользователи и компьютеры (Active Directory - Users and Computers) щелкните правой кнопкой мыши на сервере RIS, параметры которого Вы хотите сконфигурировать. Затем выберите в контекстном меню Свойства (Properties) и в открывшемся диалоговом окне перейдите на вкладку Удаленная установка (Remote Install), как показано на Рисунке 6. 



Рисунок 6 – Диалоговое окно свойств сервера RIS

Ниже Вы найдете описание основных конфигурационных параметров сервера RIS. 

  Примечание о совместном использовании серверов RIS нескольких производителей. В организациях, где в пределах одной сети используются серверы удаленной загрузки и установки сторонних производителей, серверы RIS можно настроить на обслуживание только тех клиентов, учетные записи которых были заранее созданы в службе каталогов Active Directory. Серверы RIS, настроенные на игнорирование неизвестных клиентов, подключаются к сети без помех для уже существующих серверов RIS, использующих те же протоколы удаленной загрузки.

На запросы каких клиентов должен отвечать сервер RIS. Эти параметры позволяют администратору указать, каким образом сервер будет реагировать на запросы клиентов: должен ли сервер RIS отвечать на запросы клиентов, и если это так, то будет ли осуществляться обслуживание клиентов, информация о которых отсутствует в службе каталогов Active Directory (т. е. учетная запись компьютера не была создана заранее). Предварительное создание учетной записи компьютера в Active Directory позволяет совместно использовать серверы RIS нескольких производителей в пределах одной сети.


Кроме того, появляется возможность распределения нагрузки и повышается уровень безопасности, поскольку можно контролировать, на какие компьютеры разрешена удаленная установка ОС. Параметры по умолчанию также можно изменить в мастере установки служб удаленной установки (RISetup.exe).

Параметр Расположение Значение по умолчанию
Отвечать клиентским компьютерам, запрашивающим обслуживание

(Respond to client computers requesting service)
Вкладка Удаленная установка (Remote Install) Отключен
Не отвечать неизвестным клиентским компьютерам

(Do not respond to unknown client computers)
Вкладка Удаленная установка (Remote Install) Отключен
 

Формат автоматического образования имен клиентских компьютеров. Этот параметр определяет формат автоматически создаваемого имени компьютера. Можно использовать несколько различных схем образования имен, в том числе и произвольный формат, отвечающий требованиям организации. Гибкость настроек позволяет применить желаемую схему именования во время установки ОС, не требуя вовлечения администраторов или пользователей в этот процесс.

Параметр Расположение Значение по умолчанию
Формат образования имени компьютера-клиента  

(Client computer naming format)
Кнопка Дополнительные параметры (Advanced settings) на вкладке Новые клиенты (New Clients) Имя пользователя (Username)
 

Контейнер Active Directory для размещения новых учетных записей клиентских компьютеров по умолчанию. При помощи этого параметра администратор может задать контейнер по умолчанию в службе каталогов Active Directory, где будут созданы учетные записи клиентов, на которые производится удаленная установка ОС. Администратор может выбрать любые существующие контейнеры, либо создать новое подразделение для компьютеров, на которые установка ОС будет производиться посредством RIS.

Параметр Расположение Значение по умолчанию
Размещение учетной записи компьютера-клиента  

(Client account location)
Кнопка Дополнительные параметры (Advanced settings) на вкладке Новые клиенты (New Clients) Контейнер Computers
<


/li>

Доступные образы операционной системы. Этот параметр позволяет администраторам добавлять на существующие серверы RIS новые версии ОС или образы RIPrep для удаленной установки на клиентские компьютеры. Кроме того, администратор может связать разнообразные сценарии автоматической установки с плоскими образами ОС, что увеличивает количество возможных конфигураций операционной системы во время ее установки. Например, можно добавить на сервер RIS единственный плоский образ Windows 2000 Professional и создать различные сценарии автоматической установки, связанные с данным образом.

Параметр Расположение Значение по умолчанию
Список образов ОС Кнопка Дополнительные параметры (Advanced settings) на вкладке Образы (Images) Плоский образ Windows 2000 Professional


Инструменты независимых производителей программного обеспечения (ISV) для обслуживания и устранения неполадок. При помощи этого параметра можно указать список сторонних утилит предустановочной диагностики и обслуживания, доступных администраторам и пользователям (если разрешено). Такие инструменты для диагностики и устранения проблем в работе компьютеров используются до загрузки или установки операционной системы (например, когда перед установкой необходимо обновить прошивку BIOS). Другими примерами могут служить антивирусные сканеры памяти, утилиты для диагностики компьютера или программное обеспечение, осуществляющее сбор информации об аппаратном обеспечении компьютера.

Параметр Расположение Значение по умолчанию
Служебные программы Кнопка Дополнительные параметры (Advanced settings) на вкладке Сервис (Tools) Программы не установлены
Совет. Если пользователю доступна только автоматическая установка системы (этот параметр используется по умолчанию), меню параметров установки не отображается, тем самым исключая возможность пользовательской ошибки.

Третий способ конфигурации RIS заключается в использовании групповой политики. С ее помощью можно указать, какие параметры установки будут предложены мастером установки клиентов (CIW) различным группам пользователей.


Например, пользователям совсем необязательно нужен доступ к дополнительным параметрам установки или инструментам обслуживания и устранения проблем в работе. Используя групповые политики, администратор может оставить обычным пользователям лишь возможность автоматической установки, а доступ к остальным параметрам предоставить только сотрудникам ИТ-отдела.

Параметр Расположение Значение по умолчанию
Параметры мастера установки клиентов (CIW) Политика домена по умолчанию – Конфигурация пользователя – Конфигурация Windows – Службы удаленной установки

(Default Domain Policy – User Configuration – Windows Settings – Remote Installation Service)

Для всех пользователей домена: только автоматическая установка
Совет. Чтобы обеспечить автоматический выбор конкретного образа ОС определенными группами пользователей, предоставьте им доступ только к этому образу. Когда пользователю доступен лишь один образ, он выбирается автоматически (при этом экран выбора образов не отображается).

Четвертый (и последний) способ конфигурации RIS заключается в использовании дескрипторов безопасности (избирательных списков управления доступом, DACLs) для разграничения доступа пользователей к образам ОС на сервере RIS. Администраторы могут задействовать этот способ, когда им нужно обеспечить корректный выбор образа для автоматической установки, соответствующий обязанностям пользователя на предприятии. По умолчанию при добавлении на сервер RIS образа ОС, последний становится доступен всем пользователям, которых обслуживает данный сервер. .

Параметр Расположение Значение по умолчанию
Доступность образа ОС для пользователей в мастере установки клиентов (CIW) Избирательные списки управления доступом (Discretionary Access Control Lists, DACLs) для файла ответов (.sif), находящегося в папке шаблонов образа   Доступен всем пользователям
Совет. Для снижения объема работы, связанной с разграничением доступа пользователей к образам, устанавливайте дескрипторы безопасности на папку шаблонов образа, а не на отдельные файлы ответов (.sif).Кроме того, использование групп безопасности для контроля доступа к образам эффективнее, чем назначение прав пользователям на индивидуальной основе.

После настройки всех необходимых параметров RIS можно приступать к обслуживанию компьютеров с возможностью удаленной загрузки. В следующем разделе представлен обзор мастера установки клиентов (CIW), а также описание параметров установки, которые могут быть доступны конечному пользователю. Как уже говорилось выше, для отправки запроса на обслуживание сервером RIS клиентские компьютеры должны быть оборудованы ПЗУ удаленной загрузки PXE или сетевым адаптером, поддерживающимся диском удаленной загрузки RIS. 


Adobe Acrobat Reader 7.х


Начиная с одного из релизов седьмой версии, программа поддерживает ключ /s /v" /qn". Таким образом нерaзбериху с ключами, присущую более ранним версиям Adobe Acrobat, можно считать исчерпанной. Для установки из пакетного файла команда будет выглядеть так:

%systemdrive%\Install\AdbeRdr70_enu_full.exe /s /v" /qn"

Если же вы используете RunOnceEx, то тогда в этом файле должны быть следующие параметры

REG ADD %KEY%\025 /VE /D "Adobe Reader 7" /f

REG ADD %KEY%\025 /V 1 /D "%systemdrive%\Install\AdbeRdr70_enu_full.exe /s /v\" /qn\"" /f

Тем не менее, вы можете захотеть создать безключевой инсталлятор, который установит Adobe Reader без каких-либо видимых диалоговых окон. Созданию таких инсталляторов посвящена отдельная статья.



Adobe Acrobat Reader 8.х


Тихую установку восьмой версии программы можно осуществить следующим образом:

%systemdrive%\Install\AdbeRdr80_en_US.exe /sAll

Программа будет установлена с настройками по умолчанию. Настроить Acrobat Reader 8 для установки можно при помощи мастера настройки Adobe.



ADVANCEDINF


    Надстроечный над SETUPAPI интерпретатор, позволяющий выполнять дополнительные функции. Стандартные функции передаёт на выполнение интерпретатору SETUPAPI. Функции, поддерживаемые интерпретатором AdvancedINF, помимо вышеописанных:

Предварительная запись изменяемых ключей реестра в бинарный файл (функция отката)

Однократное выполнение действий под каждым пользователем (доустановка) при инсталляции и деинсталляции во время входа в систему (Active Setup)

Запуск исполняемых файлов с параметрами в скрытом и нормальном режимах

Вывод простых диалоговых окон

Чтение директорий назначения операций с файлами из реестра

   

Исходя из вышеуказанного, будет разумным отдавать предпочтение интерпретатору AdvancedINF - так мы будем пользоваться преимуществами обоих интерпретаторов. Исключение составляет установка драйверов - здесь с этим может справляться только SETUPAPI.

   

Типичный пример запуска интерпретатора AdvancedINF для выполнения скрипта:

rundll32.exe advpack,LaunchINFSection C:\Script.inf,DefaultInstall,4

где:

LaunchINFSection - точка входа;

C:\Script.inf - первый параметр для вызываемой функции, полный путь к файлу скрипта;

DefaultInstall - второй параметр, имя выполняемой секции в INF-скрипте (обратите внимание, имя секции нечувствительно к регистру в отличие от точки входа);

4 - флаг реакции интерпретатора при обработке команд скрипта.



Активация


Вы еще не устали от различных вариантов? Надеюсь, что нет, т.к. активацию Windows можно выполнить тремя способами (в зависимости от версии).

Для активации retail (коробочныx) версий можно использовать способы WINNT.SIF и бэкап активационного файла. Для активации OEM версий можно использовать еще и способ ОEMBIOS.BIN (если у вас есть OEM CD, предоставленный продавцом компьютера). Ну а корпоративные версии, как известно, активации не требуют.

Какая версия у вас? Если вы приобрели в магазине коробку с Windows XP, то у вас retail версия. Если вы приобрели компьютер с уже предустановленной магазином или команией-сборщиком системой, то у вас OEM версия. Если вы купили диск Windows XP на лотке за пару долларов, то у вас.. правильно, пиратская версия :) Не спрашивайте меня в какую из вышеуказанных категорий ее отнести, т.к. это зависит исключительно от изобретательности пиратов.



Активируем классические Setup Billboards


В директории i386 вашего дистрибутива найдите и удалите файлы winntbbu.dll и winntbbu.dl_. Либо один, либо оба файла должны быть в этой директории, так что удаляйте все, что найдете :)

Теперь откройте файл txtsetup.sif и удалите строки, содержащие winntbbu.dll. Проделайте тоже самое в файле dosnet.inf.



Анимированная полоска прогресса


Эта секция рассматривает замену полоски прогресса, отображаемой в правом нижнем углу.

Эффект анимированной полоски прогресса создается поочередным отображением четырех изображений. Если условно пронумеровать изображения от 1 до 4, то во время установки они отображаются по кругу в последовательности 1,2,3,4,3,2,1. Ниже приводятся четыре изображения в порядке их отображения:

Откройте winntbbu.dll в вашем редакторе ресурсов и выберите изображение, которое вы хотите заменить.

Таблица ресурсов:

Номер Ресурса Описание
185

186

187

188

True Color изображение используемое во время установки Windows XP
189

190

191

192

16 бит изображение используемое во время установки Windows XP (эквивалент True Color)
500

501

502

503

True Color изображение используемое во время установки Windows 2003
510

511

512

513

16 бит изображение используемое во время установки Windows 2003 (эквивалент True Color)

Выбрав ресурс, жмите кнопку Replace и выбирайте желаемое изображение. Если вы хотите обойтись без полоски прогресса, то у вас есть два варианта. Можно выбрать изображение размером 1х1 пиксел. Во время установки такое изображение просто будет незаметно. Альтернативно, вы можете удалить ресурс. Выберите изображение для удаления и жмите кнопку Delete Resource

Закончив редактирование ресурса, нажмите кнопку Save и сохраните файл как winntbbu.dll. Вы можете продолжить редактирование файла, следуя остальным секциям статьи, или перейти к заключительному этапу.



Аннотация


В статье приводится обзор основных изменений в процессе настройки и установки Microsoft Office 2007, произошедших по сравнению с предыдущими версиями Office. В статье рассматриваются изменения, произошедшие в структуре установочных файлов, развертывании Office 2007 на нескольких языках, конфигурационных файлах и средствах настройки Office 2007, а также вопросы изменения пользовательской конфигурации и распространения обновлений.

Статья основана на документе What's new in Setup for the Office 2007 system, входящем в состав Office 2007 Resource Kit.


В статье описывается процесс настройки Microsoft Office 2007 при помощи программы Office Customization Tool. Новое средство настройки Office позволяет создать файл настроек (MSP-файл), который можно использовать для установки Office 2007 с заданными параметрами или для обновления пользовательской конфигурации после установки Office 2007.



Анонс!


Эта статья публикуется в разделе автоматической установки Windows в качестве анонса большого сборника статей Office 2003 Resource Kit (ORK), перевод которых на русский язык выполнили участники клуба переводчиков OSZone.net. В сборник включены свыше 30 статей, в которых рассматриваются различные аспекты развертывания и обслуживания Office 2003. Все материалы Office 2003 Resource Kit будут включены в собственные оффлайн версии сборников статей клуба переводчиков.

Вы всегда можете установить Microsoft Office 2003 в интерактивном режиме или позволить сделать это пользователям. Однако можно настроить процедуру установки Office 2003 сразу для всей организации, используя параметры командной строки для программы установки, либо конфигурируя свойства программы установки при помощи файла настроек (Setup.ini) или файла преобразования (MST-файла).

Вы можете настроить большинство параметров, управляющих процедурой установки Office 2003, одним из трех способов, которые перечислены ниже в порядке приоритета:

с помощью командной строки;

с помощью файла настроек (Setup.ini);

с помощью страницы Modify Setup Properties мастера выборочной установки (Custom Installation Wizard, CIW), который сохраняет настройки в файле преобразования (MST-файле).

Обратите внимание на то, что параметры, указанные на странице Modify Setup Properties мастера Custom Installation Wizard, имеют приоритет над аналогичными параметрами, сконфигурированными на предыдущих страницах мастера.



Архитектура ПЗУ удаленной загрузки PXE


Службы удаленной установки используют протокол DHCP для назначения IP адресов клиентским компьютерам. Когда новый клиентский компьютер с поддержкой удаленной загрузки DHCP-PXE включается впервые, клиент запрашивает IP адрес и IP-адрес активного сервера загрузки, используя протокол DHCP. В составе первоначального запроса клиентский компьютер посылает собственный глобальный уникальный идентификатор (GUID or UUID), который используется для уникальной идентификации компьютера в Active Directory при использовании Служб удаленной установки Windows 2000.

С сервера RIS клиентский компьютер получает:

Собственный IP адрес при помощи DHCP.

IP-адрес сервера RIS

Имя загрузочного образа, которое понадобится клиентскому компьютеру при запросе к серверу RIS для запуска службы.

После того как клиент выполнит запрос, первый ответивший сервер RIS проверит, зарегистрирован ли данный компьютер в Active Directory. Для этого RIS проверит, существует ли в Active Directory учетная запись компьютера с таким же GUID/UUID.

Процесс PXE используется каждый раз, когда компьютер с ПЗУ удаленной загрузки делает запрос на сетевую загрузку. Сторонние производители программ удаленной загрузки/установки применяют собственные процессы для загрузки первого образа.

Наверх страницы



AutoIt


Основано на сообщении amel27 в форуме автоустановки..

Создание ярлыков можно легко реализовать скриптом на AutoIt (v.3). Прилагаю вариант скрипта, который по сути лишь оболочка над командой FileCreateShortcut. Осталось скомпилировать EXE-файл и вперед.

Список ключей, в основном, получен из справки к AutoIt:

/f Full path and file name of file to create shortcut to.

/l Full path and file name of the shortcut.

/w Working directory. [optional]

/a Additional file arguments. [optional]

/d File Description. [optional]

/i Full Path/File name of icon to use. [optional]

Пример использования:

shortcut.exe /f:"%ProgramFiles%\Ahead\Nero\nero.exe" /a:"/w" /l:"%ALLUSERSPROFILE%\Desktop\Nero Express"

Загрузить скрипт



AutoIt скрипт


;какой путь нужно дописать в переменную Path $addtopath=@ProgramFilesDir&"\7-Zip" ;извлечение текущего содержимого переменной Path $curpath=RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment","Path") ;если дописываемого пути нет в переменной Path, то дополняем ее If Not StringInStr ($curpath,$addtopath) and Not StringInStr ($curpath,"%ProgramFiles%\7-Zip") Then RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment","Path","REG_EXPAND_SZ",$curpath & ";" & $addtopath) EndIf



AutoIt скрипты - введение и FAQ


AutoIt

Эта статья появилась на сайте ввиду популярности AutoIt у посетителей форума Автоматической Установки Windows. Статья состоит из двух частей. В первой - введение в AutoIt, целиком взятое из русской справки к AutoIt, которую очень грамотно перевел с английского Валерий Иванов. К сожалению, найти координаты автора не удалось, но хочется верить, что он не возражает против публикации его трудов. Я настоятельно рекомендую загрузить справку и ознакомиться с уроками, из которых вы сразу узнаете, насколько просто автоматизировать установку приложений при помощи AutoIt. Вторая часть статьи представляет собой список часто задаваемых на конференции Oszone вопросов о работе с AutoIt. Ответы, конечно, прилагаются. "Oszone AutoIt FAQ" для вас подготовил Sanja Alone.



Автоматическая настройка обозревателя (Automatic Browser Configuration)


Вы можете указать URL-адреса к файлам, автоматической настройки обозревателей. Эта функция полезна, если Вы хотите централизованно управлять параметрами нескольких пользователей.



Автоматическая установка


Большинство инструментов по администрированию Windows Vista, включая диспетчер системных образов (Windows System Image Manager) и программу миграции пользовательского состояния (Microsoft Windows User State Migration Tool, USMT), могут управляться из командной строки либо через выполнение сценариев. Эта функциональная возможность экономит время в тех случаях, когда пользователь должен периодически выполнять одни и те же или похожие задачи. Даже если ИТ подразделения не используют сценарии, они все равно могут сэкономить время, конфигурируя автоматическую установку путем редактирования единственного файла: Unattend.xml. Windows Vista содержит графические инструменты, которые упрощают конфигурирование автоматической установки, избавляя от необходимости ручного редактирования этого файла. Поскольку XML-файлы являются текстовыми, они могут быть отредактированы как вручную, так и программно, через выполнение сценариев.



Автор: Артем Жауров aka Borodunter

Иcточник: (переведено с англ.) Microsoft Technet

Наши форумы

Опубликована - 07.05.2006


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 07.05.2006

Спроeктировала и разработала сайт Ginger



Автоматическая установка


Автоматическая установка является параметром установки, включенным по умолчанию для всех пользователей Мастера установки клиентов. Если автоматическая установка является единственным вариантом установки, для пользователя, запускающего Мастер установки клиентов, список возможных вариантов не отображается. Вместо этого программа установки сразу переходит к экрану выбора образов ОС. Если доступен только один образ ОС, Мастер установки клиентов просто просит пользователя подтвердить установку. Если на сервере доступно несколько образов ОС, пользователь должен выбрать желаемую ОС для установки. Обратите внимание, что настройки сервера RIS позволяют ограничивать доступ пользователей к образам ОС. Для дополнительной информации по ограничению доступа к образам ОС см. раздел «Параметры ограничения доступа к образам ОС».

Используя файл ответов автоматической установки (*.sif), Вы можете настроить несколько вариантов автоматической установки, которые будут связаны с одним плоским образом на сервере удаленной установки. Вы можете настроить компоненты для установки, а также параметры ОС, конфигурируемые во время инсталляции ОС.

Например, Вы решили создать вариант установки ОС, в котором будет установлен протокол TCP/IP, настроено разрешение экрана 800 x 600 и указано название компании или отдела. Вы можете указать название для этого образа ОС, которое будет простым для пользователя. Например: Windows 2000 Professional – Otdel Prodazh. Данное название образа можно изменять после первоначального размещения образа ОС на сервере RIS. Когда пользователь входит в программу удаленной установки, он видит список доступных установочных образов OC.

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

Примечание: Администратор может изменять предупреждающее сообщение, редактируя файл "Caution.osc" при помощи программы «Блокнот», чтобы сделать предупреждение об удалении разделов и форматировании жесткого диска более понятным.



Автоматическая установка (Unattended Setup)


nLite

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



Aвтоматический метод


Использование программы nLite позволяет автоматизировать процесс интеграции обновлений. Подробнее читайте в руководстве по работе с nLite.



Aвтоматический вход в систему


Как обычно, мы будем рассматривать несколько вариантов. Начнем, пожалуй, с самого простого: все что вам нужно, это организовать автоматический вход в систему для встроенной учетной записи Administrator.



Авторизация RIS в Active Directory


RIS позволяют Вам контролировать, какие серверы RIS могут обслуживать клиентские компьютеры в сети. Для того чтобы сервер RIS заработал, он вначале должен быть авторизован в Active Directory. Если сервер RIS не авторизован в Active Directory, запросы клиентских компьютеров не будут обработаны и останутся без ответа.

Для авторизации сервера RIS в Active Directory, Вы должны войти в систему от имени администратора предприятия или администратора корневого домена. Вы можете выполнить следующие действия на любом контроллере домена, рядовом сервере или на рабочей станции под управлением Windows 2000 Professional, на которой установлен Пакет средств администрирования, включающий оснастку управления сервером DHCP. Данное руководство рассматривает авторизацию на контроллере домена, создание которого рассматривается подробнее в Части I Пошагового руководства по базовой инфраструктуре.

Нажмите Пуск (Start) выберите Программы (Programs), выберите Администрирование (Administrative Tools) и нажмите DHCP. Появится оснастка изображенная на Рисунке 2 ниже:

Рисунок 2. Оснастка DHCP.

Правой кнопкой мыши щелкните по значку DHCP в верхнем левом углу оснастки DHCP и выберите в контекстном меню >Управление авторизованными серверами (Manage Authorized Servers). Если Ваш сервер отсутствует в списке, нажмите Авторизовать (Authorize), и введите IP адрес сервера RIS. Нажмите >Да (Yes), когда потребуется подтвердить правильность адреса.

После этого Ваш сервер RIS авторизован в Active Directory, и теперь он может отвечать на запросы обслуживания клиентских компьютеров.

Примечание: Если вы авторизуете сервер RIS не на контроллере домена, выполните следующие действия для установки Пакета средств администрирования (Administrator Tools Package) в ОС Windows 2000 Server: Нажмите Пуск (Start), нажмите Выполнить (Run) и введите adminpak.msi. Для ОС Windows 2000 Professional запустите adminpak.msi с установочного компакт-диска Windows 2000 Server.

Наверх страницы



Bcdw_menus


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Vovanchik

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[MenuOptions]

BGColors = 0f, 0f, 0f, 0f ; Background colors: border, background, top line, bottom line

BGSymbol = 32 ; Decimal code of background filler: 32, 176, 177, 178

TopText = Made in Russia ; Top line text

MenuPosition = 02, 02, 76, 14 ; Window Position: X, Y, width, height

MenuPositionA = 02, 02, 76, 14 ; Window Position: X, Y, width, height

MenuColors = f9, 9f, 1f, f0, 0f, fd, f9 ; Window colors: border, title on got focus, title on lost focus, window content, current line on got focus, current line on lost focus, unacceptable lines

MenuBorderStyle = 5 ; Border style: 0, 1, 2, 3, 4, 5

;MenuShadowStyle = 2 ; Shadow style: 0, 1, 2

MenuTitle = Reanimator Extreme Edition ; Window title

MenuTimerLabel = Времени осталось: ; Timer label

MenuTimer = 20 ; Timer delay in seconds

HelpPosition = 02, 17, 76, 07 ; Window position: X, Y, width, height

HelpPositionA = 02, 17, 76, 07 ; Window position: X, Y, width, height

HelpColors = e0, 9f, 1f, e0, 0f, e0 ; Window colors: border, title on got focus, title on lost focus, window content, current line on got focus, current line on lost focus

HelpBorderStyle = 5 ; Border style: 0, 1, 2, 3, 4, 5

HelpTitle = Help ; Window title

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;Fanzuga

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[MenuOptions]

;Blink = 0 ; Blinking: 0 - disable, 1 - enable

BGColors = 00,80,80,80 ; Цвета фона: бордюр, фон, верхняя строка, нижняя строка

BGSymbol = 32 ; Десятичный код символа-заполнителя фона: 32, 176, 177, 178

TopText = ; Текст верхней строки

BottomText = ; Текст нижней строки

; *** Настройки окна "Вариант загрузки"

MenuPosition = 02, 04, 76, 21 ; Расположение окна: X, Y, ширина, высота

MenuColors = a2, 9f, 1f, a2, 20, fd, ad ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса, недоступные строки


MenuBorderStyle = 2 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

MenuShadowStyle = 2 ; Стиль тени под окном: 0, 1, 2

MenuTitle = Выберите необходимый пункт меню ; Текст заголовка окна

MenuDefault = 0 ; Индекс пункта меню по умолчанию

MenuTimerLabel = Время до загрузки с жесткого диска: ; Подпись таймера

MenuTimer = 8 ; Задержка в секундах перед автоматической загрузкой

; *** Настройки окна "Описание загрузки" (если окно не нужно - удалите строки Help*)

HelpPosition = 02, 26, 76, 08 ; Расположение окна: X, Y, ширина, высота

HelpColors = a4, 4f, 4f, a4, 4a, a4, a4 ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса

HelpBorderStyle = 2 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

HelpShadowStyle = 2 ; Стиль тени под окном: 0, 1, 2

HelpTabSkip = 0 ; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.

HelpTitle = Описание выбранного пункта ; Заголовок окна

; *** Настройки окна "О компакт-диске" (если окно не нужно - удалите строки About*)

AboutPosition = 02, 01, 76, 02 ; Расположение окна: X, Y, ширина, высота

AboutColors = a0, 9f, 1f, a2, 0f, a9 ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса

AboutBorderStyle = 5 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

AboutShadowStyle = 2 ; Стиль тени под окном: 0, 1, 2

AboutTabSkip = 0 ; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.

AboutTitle = ; Заголовок окна

AboutText =......... Мультизагрузочный компакт диск от MonsterMax-=SPB=- 2006 ......... ; Содержимое окна

; *** Настроки окна "Бегущая строка" (если окно не нужно - удалите строки Scroll*)

ScrollPosition = 02, 00, 76, 01 ; Расположение окна: X, Y, ширина, высота

ScrollColors = 87, 87, 87, 87, 0f, 87 ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса



ScrollBorderStyle = 0 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

ScrollShadowStyle = 0 ; Стиль тени под окном: 0, 1, 2

ScrollTabSkip = 0 ; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.

ScrollMode = 0 ; Режим окна: 0 - бегущая строка, 1 - окно с текстом

ScrollTitle = ; Заголовок окна

ScrollText = Варианты автоматической и ручной установки Windows XP SP2 от MonsterMax-=SPB=- 2006 год ; Содержимое окна

*** Настройки фона под окнами

;Blink = 0 ; Blinking: 0 - disable, 1 - enable

BGColors = 10, 10, 1e, 1e ; Цвета фона: бордюр, фон, верхняя строка, нижняя строка

BGSymbol = 32 ; Десятичный код символа-заполнителя фона: 32, 176, 177, 178

TopText = ; Текст верхней строки

BottomText = ; Текст нижней строки

; *** Настройки окна "Вариант загрузки"

MenuPosition = 01, 06, 78, 11 ; Расположение окна: X, Y, ширина, высота

MenuColors = 1b, 1A, 1b, 1f, 0f, 1e, 17 ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса, недоступные строки

MenuBorderStyle = 1 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

MenuShadowStyle = 0 ; Стиль тени под окном: 0, 1, 2

MenuTitle = ВАРИАНТ ЗАГРУЗКИ ; Текст заголовка окна

MenuDefault = 1 ; Индекс пункта меню по умолчанию

MenuTimerLabel = Осталось времени: ; Подпись таймера

MenuTimer = 30 ; Задержка в секундах перед автоматической загрузкой

; *** Настройки окна "О варианте загрузки" (если окно не нужно - удалите строки Help*)

HelpPosition = 01, 18, 78, 06 ; Расположение окна: X, Y, ширина, высота

HelpColors = 1b, 1e, 1A, 1f, 0f, 1b ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса

HelpBorderStyle = 1 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

HelpShadowStyle = 0 ; Стиль тени под окном: 0, 1, 2

HelpTabSkip = 1 ; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.

HelpTitle = О ВАРИАНТЕ ЗАГРУЗКИ ; Заголовок окна

; *** Настройки окна на компакт-диске" (если окно не нужно - удалите строки About*)



AboutPosition = 01, 01, 78, 05 ; Расположение окна: X, Y, ширина, высота

AboutColors = 1b, 1A, 1A, 1f, 0f, 1f ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса

AboutBorderStyle = 1 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

AboutShadowStyle = 0 ; Стиль тени под окном: 0, 1, 2

AboutTabSkip = 1 ; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.

AboutTitle = WINDOWS XP SP2 RUS Unattended Edition 1.4 (02/01/2006) ; Заголовок окна

AboutText = ~ ; Содержимое окна

Установочный диск Windows XP Professional SP2 - 2006 год.

Загрузочный диск был собран с помощью UnaCreator 1.4

от Vse Do Fe'Ni mailto:vse_do_feni@front.ru

~

; *** Настройки окна "Бегущая строка" (если окно не нужно - удалите строки Scroll*)

ScrollPosition = 02, 24, 76, 02 ; Расположение окна: X, Y, ширина, высота

ScrollColors = 30, 30, 30, 30, 0f, 1e ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса

ScrollBorderStyle = 0 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

ScrollShadowStyle = 0 ; Стиль тени под окном: 0, 1, 2

ScrollTabSkip = 1 ; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.

ScrollMode = 0 ; Режим окна: 0 - бегущая строка, 1 - окно с текстом

ScrollTitle = ; Заголовок окна

ScrollText = ~ ; Содержимое окна

*** Сделано С Божьей помощью. Также Автор благодарит за бесценные советы и любезно предоставленное программное обеспечние следующие организации и частных лиц: Microsoft Corporation (www.microsoft.com), Vadikan (unattended.oszone.net), Vse Do Fe'Ni (unacreator.elitecom.ru), Bashrat the Sneaky (www.driverpacks.net), Petya V4sechkin (unattended.nm.ru). Автор также благодарит всех тех кто тестирует этот диск, не жалея своего времени и машин. Copyright fanzuga@mail.ru ***

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;_SV_ (использовал Vadikan ;)



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[MenuOptions]

; *** Настройки фона под окнами

BGColors = 80, 80, 80, 80 ; Цвета фона: бордюр, фон, верхняя строка, нижняя строка

BGSymbol = 32 ; Десятичный код символа-заполнителя фона: 32, 176, 177, 178

;TopText = ;[ Multiboot XP DVD ] by Vadikan 2006 ; Текст верхней строки

BottomText = ; Текст нижней строки

; *** Настройки окна "Вариант загрузки"

MenuPosition = 01, 04, 78, 13 ; Расположение окна: X, Y, ширина, высота

MenuColors = f2, 2f, 9f, f9, cf, fd, f9 ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса, недоступные строки

MenuBorderStyle = 1 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

MenuShadowStyle = 0 ; Стиль тени под окном: 0, 1, 2

MenuTitle = Boot Options ; Текст заголовка окна

MenuDefault = 0 ; Индекс пункта меню по умолчанию

menutimerlabel = Time remaining:

menutimer = 60

; *** Настройки окна "О варианте загрузки" (если окно не нужно - закомментируйте строки Help*)

HelpPosition = 01, 18, 78, 06 ; Расположение окна: X, Y, ширина, высота

HelpColors = e1 9f, 1f, e0, 0f, e0 ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса

HelpBorderStyle = 1 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

HelpShadowStyle = 0 ; Стиль тени под окном: 0, 1, 2

HelpTabSkip = 1 ; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.

HelpTitle = Description ; Заголовок окна

; *** Настройки окна "О компакт-диске" (если окно не нужно - закомментируйте строки About*)

AboutPosition = 01, 01, 78, 03 ; Расположение окна: X, Y, ширина, высота

AboutColors = e1, 2f, 1f, e0, 0f, e0 ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса

AboutBorderStyle = 1 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5



AboutShadowStyle = 0 ; Стиль тени под окном: 0, 1, 2

AboutTabSkip = 1 ; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.

AboutTitle = Multiboot XP DVD: Boot option selection ; Заголовок окна

AboutText = Use UP and DOWN arrows to select the boot option ; Содержимое окна

~

; *** Настроки окна "Бегущая строка" (если окно не нужно - закомментируйте строки Scroll*)

ScrollPosition = 02, 24, 76, 02 ; Расположение окна: X, Y, ширина, высота

ScrollColors = 30, 30, 30, 30, 0f, 1e ; Цвета окна: рамка, заголовок окна при получении фокуса, заголовок окна при потере фокуса, строки, текущая строка при полученни фокуса, текущая строка при потере фокуса

ScrollBorderStyle = 0 ; Стиль рамки окна: 0, 1, 2, 3, 4, 5

ScrollShadowStyle = 0 ; Стиль тени под окном: 0, 1, 2

ScrollTabSkip = 1 ; Пропуск окна при переключении по Tab: 0 - выкл., 1 - вкл.

ScrollMode = 0 ; Режим окна: 0 - бегущая строка, 1 - окно с текстом

ScrollTitle = ; Заголовок окна

ScrollText = ~ ; Содержимое окна

***Info: Multiboot XP DVD. Vadikan. 2006. unattended.oszone.net***


Более сложный вариант пакетного файла


Тема динамического добавления информации в oeminfo.ini получила активное развитие на форуме автоматической установки Windows. Участники конференции дополнили и расширили приведенный выше файл.

Последнюю версию файла вы можете найти на этой странице.

Автор: Вадим Стеркин aka Vadikan

Иcточник: (переведено с англ.) unattended.msfn.org

Наши форумы

Опубликована- 12.03.2005


© Все права защищены OSzone.net 2001-2008. Материалы взяты с сайта unattended.oszone.net. Дальнейшее применение материалов в других печатных изданиях, включая электронные статьи, должно сопровождаться указанием имени сайта unattended.OSzone.net и имени автора.

Распечатано 09.04.05

Спроeктировала и разработала сайт Ginger



Boot Screens (новый взгляд)


Данная статья теперь состоит из двух частей. Первая часть является совершенно новым материалом, который написал для вас участник конференции OSZone YuriPet. В ней рассматривается работа с программой TuneUp Styler. Вторая часть - это римейк старой статьи (где описана работа с программой Boot Editor), которую для вас отредактировал, расширил и снабдил новыми скриншотами участник конференции OSZone desperate.



Bootable CD Wizard (BCDW)


Примечание: подробнее о BCDW рассказывается в первой статье про мультизагрузку, а также в этой теме на конференции OSZone.

Осталось только поместить в директорию D:\work\ папку BCDW и подправить файл bcdw.ini в ней таким образом:

\1W2K\setupldr.bin ; Установка Windows 2000

\1WXP\setupldr.bin ; Установка Windows XP

Вот и все!



BS Post Installer


Автор - Boa Soft

Tема на OSZone (скриншоты и обсуждение)

Скачать программу

Программа не уступит в функциональности и графическом оформлении WPI и вдобавок обладает русским интерфейсом. Она по праву заслужила признание многих участников конференции Oszone, чему также способствовала отзывчивость автора к пожеланиям сообщества. Фрагмент из авторского описания программы приводится ниже (полностью его можно прочитать здесь).