![]() |
(статья) Руководство по работе с INF файлами
Цитата:
|
Кстати, после изучения inf-файлов из апдейт-пака, стал интересен момент - RegisterOCXs vs RegisterDLLs vs запуск regsvr32 из RunOnce - что правильнее? У Petya Vase4kin используются все три варианта. Что касается первых двух, во всех неофициальных руководствах по инфам упоминается только RegisterOCXs, а на сайте Microsoft наоборот, нашел только упоминание RegisterDLLs.
|
Мож у кого завалялась программка inf2reg от Shadrach, залейте куда-нить плз! Порыл в инете - визде битые ссылки... :(
Спасибо! |
|
Помогите, плиз, с inf скриптом
Необходимо создать ярлык в "...\Главное меню\Программы\Утилиты\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" ... ярлык не создаётся, в чём трабла? |
Xpe6eT
Код:
[Version] |
Откуда в секции [DestinationDirs] INF - файла берётся цифра 16422.
В руководстве и другой литературе нет такого значения числового номера каталога. Вопрос: Полный список этих номеров где найти? Ещё: реальный путь: -1 или 1(в другой литературе просто 1, а -1 вообще нет) |
Цитата:
|
В секции [Optional Components] может быть параметр InstallDefault, который принимает значения 0 или 1.
Так вот вопрос: какое точно значение этого параметра должно быть для того, чтобы компонент не устанавливался, т.е. в списке усановленных компонент Windows галочка была-бы не поставлена по-умолчанию ? Пробовал InstallDefault=0 (логично вроде) - компонент устанавливается. Перезаписать на 1 и [b][u]проверить[u][b] нет в данный момент возможности. |
Цитата:
Вопрос: Как(что) тогда сделать, чтобы при установки 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 (сборка) Утилиты - [addon] Total Commander Lite/Power/ExtremePack |
Как скопировать файл(ы) из 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-файла, а свою, сообразно тематике скрипта. |
Цитата:
Цитата:
|
Цитата:
Код:
IconPath=11,SHELL32.dll |
BigBoo
Код:
IconPath=11,,SHELL32.dll |
jameszero, Amigos, - спасибо, всё работает! :) Странно только что эта тема в учебнике находится только в главе "Работа с INI-файлами", не сразу найдёшь и догадаешься, что то же можно использовать для INF.
|
Цитата:
в win95 ini файлы в каталоге c:\WINDOWS\ ещё что то значили |
Интересно, а можно ли в INF-файле организовать проверку ошибок? То есть например, если команда на удаление папки с программой в секции деинсталляции возвращает ошибку, вывести окно "Требуется перезагрузка системы... Да/Нет" и далее после перезагрузки происходит окончательное удаление. Вопрос родился вот почему: дерегистрирую DLL в папке с программой, но она всё-равно не удаляется, так как заблокирована процессом Explorer. Ну и сами понимаете, пришибать и заново запускать Explorer не хотелось бы.
|
Вложений: 1
BigBoo, для вывода окна с вопросом о перезагрузке существует параметр "SmartReboot".О нем упоминается здесь .А дальше действия на удаление "занятых системой" файлов прописываем в RunOnceEx.Вообщем чтобы понятней было пример .inf-а прикрепил
|
Bodya.N, спасибо за пример INF-файла с вопросом о перезагрузке, но вопрос немного в другом:
Цитата:
p.s. Вопроса бы также не было, если понять чем блокируется злосчастная DLL-ка. Перезапускать Explorer помогает, но если запущен Total Commander - нет, его тоже нужно закрыть, и только в случае отсутствия каких-то запущенных программ - всё ОК! Дерегистрация проходит успешно, созданный пункт из контекстного меню проводника исчезает. В диспетчере не вижу никаках упоминаний о библиотеке и созданных процессов программой. Не хочется создавать новую тему, ведь не зря некоторые деинсталяторы предлагают перезагрузку, или всё-таки это как-то решаемо? |
Нашёл на форуме:
Код:
SmartReboot=I - если перезагрузка необходима, тогда спросить у пользователя. |
Подскажите пожалуйста, можно ли устанавливать и как удалять шрифты с помощью INF файла?
|
BigBoo, в теории да
1 скопировать файлы шрифтов в c:\WINDOWS\Fonts\ 2 внеси в реестр новые шрифты в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts оба пункта можно делать через inf. но делать инструментами типа [решено] Добавление своей коллекции шрифтов при установке WindowsXP и правильней, и проще, и удобней, и понятней, и работает в win9x |
Amigos, делаю аддон программы, вносящей пару шрифтов в папку c:\WINDOWS\Fonts\, поэтому использовать другой аддон не удобно, проще через INF. Также хотелось, чтобы при деинсталляции программы внесённые шрифты удалялись. Удаляю их ключи в реестре, а сами файлы не удаляются :( , только после перезагрузки из RunOnceEx. И устанавливаются кстати тоже после неё. Интересно, ведь родному инсталлятору перезагрузка не нужна! Возможно ли как-то устанавливать / удалять шрифты через INF без перезагрузки?
|
Время: 10:58. |
Время: 10:58.
© OSzone.net 2001-