Показать полную графическую версию : (статья) Руководство по работе с INF файлами
Этот документ описывает синтаксис написания инсталляционных скриптов для Microsoft Windows, используя технологию INF. На INF-файлах построена вся база драйверов и большинство системных инсталляционных пакетов Microsoft Windows. Автор статьи - Алексей Кердиваре. Он любезно разрешил разместить документ на нашем ресурсе, хотя и предупредил, что статья так никогда и не была дописана до конца (в тексте вы встретите недописанные секции). Вашему вниманию предлагается последний авторский вариант статьи от 23 июля 2004 г. Пусть вас не смущает дата двухлетней давности. Документ является, пожалуй, наиболее полным справочником по INF файлам на русском языке. Статью для вас отредактировал и даже дополнил, участник конференции Oszone Владимир "vek (http://forum.oszone.net/member.php?userid=37396)" Ходыгин.
Читать дальше... (http://oszone.net/display.php?id=3827)
Кстати, после изучения inf-файлов из апдейт-пака, стал интересен момент - RegisterOCXs vs RegisterDLLs vs запуск regsvr32 из RunOnce - что правильнее? У Petya Vase4kin используются все три варианта. Что касается первых двух, во всех неофициальных руководствах по инфам упоминается только RegisterOCXs, а на сайте Microsoft наоборот, нашел только упоминание RegisterDLLs.
Мож у кого завалялась программка inf2reg от Shadrach, залейте куда-нить плз! Порыл в инете - визде битые ссылки... :(
Спасибо!
Proektor
14-02-2007, 10:56
ProkVS
http://rapidshare.com/files/16384930/Inf2Reg.7z.html
Необходимо создать ярлык в "...\Главное меню\Программы\Утилиты\qwerty\qwerty.lnk" к файлу программы лежащей в %windir%\system32..., плюс необходимо запускать прогу с параметром...
делаю так:
[Optional Components]
qwerty
[qwerty]
ProfileItems=qwerty.Link
[qwerty.Link]
Name="qwerty"
CmdLine=11,"qwerty.exe ///param"
SubDir=%Util%
WorkingDir=11
[Strings]
Util="Утилиты\qwerty"
... ярлык не создаётся, в чём трабла?
jameszero
18-01-2008, 13:45
Xpe6eT
[Version]
signature = $CHICAGO$
SetupClass=BASE
[Optional Components]
qwerty
[qwerty]
ProfileItems=qwerty.Link
[qwerty.Link]
Name="qwerty"
CmdLine=11,,"qwerty.exe" "/param"
SubDir=%Util%
WorkingDir=11
[Strings]
Util="Утилиты\qwerty"
Откуда в секции [DestinationDirs] INF - файла берётся цифра 16422.
В руководстве (http://oszone.net/display.php?id=3827) и другой литературе (http://www.leeos.com/infdoc.html) нет такого значения числового номера каталога.
Вопрос: Полный список этих номеров где найти?
Ещё: реальный путь: -1 или 1(в другой литературе просто 1, а -1 вообще нет)
Полный список этих номеров где найти? »
http://gosh.msfn.org/Files/DirIds.txt
В секции [Optional Components] может быть параметр InstallDefault, который принимает значения 0 или 1.
Так вот вопрос:
какое точно значение этого параметра должно быть для того, чтобы компонент не устанавливался,
т.е. в списке усановленных компонент Windows галочка была-бы не поставлена по-умолчанию ?
Пробовал InstallDefault=0 (логично вроде) - компонент устанавливается.
Перезаписать на 1 и [B][U]проверить[U][B] нет в данный момент возможности.
В секции [Optional Components] может быть параметр InstallDefault »
Проверил: InstallDefault=1 - также компонент устанавливается.
Вопрос:
Как(что) тогда сделать, чтобы при установки winXP компонент не устанавливался по-умолчанию, т.е в списке усановленных компонент Windows галочка была-бы не поставлена ???
Параметр Modes=0,1,2,3 в секции [Optional Components] отвечает за установку компонент Windows.
При значении:
Modes=0,1,2,3 компонент установиться по умолчанию.
В случае заккоментированной строки:
;Modes=0,1,2,3 компонент по умолчанию установлен не будет, а его "доустановка" будет возможна из апплета "Установка компонент Windows"
При отсутствии параметра Modes компонент установлен не будет и его доустановка будет недоступна.
"Добавление приложения в пользовательскую и общую автозагрузку при входе в систему" - этот раздел недописан или по каким то причинам не отображается?
biork, не дописан - рук-во было получено от автора "как есть".
Народ, подскажите, плиз, в таком вопросе (заранее прошу прощения за чайниковость): есть один плагинчик для Total Commander-а, хочу создать автоустановку с помощью zip-файла (не exe!). Изначально установка плагина требует выполнения нескольких манипуляций, от которых хотелось бы избавиться:
1) с помощью inf-файла данные вносятся в настройки Total Commander-а;
2) с помощью reg-файла данные вносятся в системный реестр.
Вот их содержание:
1) содержание inf-файла:
[plugininstall]
Setting.reg
description=NFO View 1.5 lister plugin for nfo and diz files.
descriptionRUS=NFO View 1.5 - плагин для просмотра файлов nfo и diz.
type=wlx
file=nfoview.wlx
defaultdir=NFO View
2) Содержание reg-файла:
[HKEY_LOCAL_MACHINE\SOFTWARE\ISSoft]
[HKEY_LOCAL_MACHINE\SOFTWARE\ISSoft\NFO View for TC]
"ColorFon"=dword:00ffffff
"ColorFont"=dword:00000000
"ColorFontURL"=dword:00ff0000
"CTPath"="%COMMANDER_PATH%\\Plugins\\wlx\\NFO View\\Profiles\\"
"LangFile"="%COMMANDER_PATH%\\Plugins\\wlx\\NFO View\\Lang\\Rus.lng"
"LPath"="%COMMANDER_PATH%\\Plugins\\wlx\\NFO View\\Lang\\"
"NameFont"="Lucida Console"
"ShowEmot"=dword:00000001
"ShowURL"=dword:00000001
"SizeFont"=dword:00000008
Попытался содержание обоих файлов запихать в один общий inf, но этот inf нормально не работает: в TC из zip-а (при автозапуске) выполняется только секция [plugininstall], остальное игнорируется, а по команде "Установить" из контекстного меню в TC (правая кнопка мышки) выполняется всё остальное, но игнорируется секция [plugininstall]. Как всё это дело заставить нормально работать из единого inf-файла, вложенного в zip-файл? У меня дело застопорилось вот на таком варианте:
[Version]
Signature="$CHICAGO$"
SetupClass=BASE
[DefaultInstall]
AddReg=Reestr
[Reestr]
HKLM,"%PathReg%","ColorFon",0x00010001,16777215
HKLM,"%PathReg%","ColorFont",0x00010001,0
HKLM,"%PathReg%","ColorFontURL",0x00010001,16711680
HKLM,"%PathReg%","CTPath",,"%COMMANDER_PATH%\Plugins\wlx\NFO View\Profiles\"
HKLM,"%PathReg%","LangFile",,"%COMMANDER_PATH%\Plugins\wlx\NFO View\Lang\Rus.lng"
HKLM,"%PathReg%","LPath",,"%COMMANDER_PATH%\Plugins\wlx\NFO View\Lang\"
HKLM,"%PathReg%","NameFont",,"Lucida Console"
HKLM,"%PathReg%","ShowEmot",0x00010001,1
HKLM,"%PathReg%","ShowURL",0x00010001,1
HKLM,"%PathReg%","SizeFont",0x00010001,8
[Strings]
Pathreg="SOFTWARE\ISSoft\NFO View for TC"
[plugininstall]
Setting.reg
description=NFO View 1.5 lister plugin for nfo and diz files.
descriptionRUS=NFO View 1.5 - плагин для просмотра файлов nfo и diz.
type=wlx
file=nfoview.wlx
defaultdir=NFO View
Nun-Nun, по ходу INF-файл TC это обычный INI-файл, используемый установщиком и не имеет ничего общего с INF-файлами Windows... Копайте в сторону интеграции плагинов в TC:
Система - Total Commander XP (сборка) (http://forum.oszone.net/showthread.php?t=41766)
Утилиты - [addon] Total Commander Lite/Power/ExtremePack (http://forum.oszone.net/showthread.php?t=73500)
Как скопировать файл(ы) из system32 в inf-директорию или в другую...
К примеру
FileCopy "%WinDir%\system32\calc.exe" to "%SelfInfDir%\subdir\" .
Либо глючит либо не поддерживается :(
Либо да либо нет? Можно копировать из "не скрипт директории" ?? Ау! :unsure:
Кстати, там ошибка в статье...
0x00000002 (FLG_ADDREG_NOCLOBBER)
Prevent a given value from replacing the value of an existing value entry.
То-есть 0x2 а не как там 20 ;-
Кто-нибудь знает, можно ли при создании ярлыка с помощью inf-файла задать ярлыку собственную иконку? В руководстве и в инете нигде не нашёл упоминания об этом.
Например, ярлык ссылается на vbs-скрипт, так хотелось бы видеть у него не невзрачную иконку vbs-файла, а свою, сообразно тематике скрипта.
при создании ярлыка с помощью inf-файла задать ярлыку собственную иконку? » http://oszone.net/display.php?id=3827
Path - Полный путь до программы, заданный с помощью переменных путей.
workdir - Полный путь к рабочей директории (к папке, содержащей программу), заданный с помощью переменных путей.
GROUPNAME - имя группы ярлыков в меню ПУСК, которое видит пользователь. Может задаваться переменной, описанной в разделе [Strings]
PathIcon - Полный путь к библиотеке DLL,содержащей изображение иконки, заданный с помощью переменных путей. Если этот параметр опущен, программа установки ищет иконку в файле, указанном в параметре CmdLine
IndexValue - Этот параметр указывает какую именно иконку в библиотеке DLL необходимо использовать. При отсутствии этого параметра, программа установки будет брать первую иконку из файла, указанного в параметре CmdLine
HotkeyValue - Этот параметр задает значение "горячей клавиши" для вызова программы.
DESCRIPTION - Подсказка, выводимая пользователю при наведении указателя мыши на ярлык к программе. Может задаваться переменной, описанной в разделе [Strings]
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.