Создание собственного OEM-ярлыка в меню "Пуск"

OSzone.net » Microsoft » Автоматическая установка » Автоматическая установка Windows XP » Создание собственного OEM-ярлыка в меню "Пуск"
Автор: Вадим Стеркин aka Vadikan
Иcточник: unattended.oszone.net
Опубликована: 08.02.2008

Многие ОЕМ-сборщики компьютеров добавляют свой ярлык в меню "Пуск" под ярлыком команды "Выполнить". Ярлык может указывать на файл, содержащий сведения о технической поддержке, или на веб-сайт компании-сборщика компьютера. В соответствии с документацией Microsoft такой ярлык можно создать только в рамках фабричной установки посредством файла winbom.inf, а созданный таким образом ярлык невозможно удалить. Участник конференции OSzone Boa Soft успешно опровегает это заявление с помощью INF-файла, приведенного ниже.

 factory.inf

[Version]
signature = $CHICAGO$
SetupClass=BASE

[DefaultInstall]
AddReg     = FLink.AddReg

[FLink.AddReg]
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}",,0x00000000,%LinkName%
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}","InfoTip",0x00000000,%LinkTip%
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\DefaultIcon",,0x00020000,%IconName%
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\InProcServer32",,0x00020000,"%SystemRoot%\system32\shdocvw.dll"
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\InProcServer32","ThreadingModel",0x00000000,"Apartment"
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance","CLSID",0x00000000,"{3f454f0e-42ae-4d7c-8ea3-328250d6e272}"
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance\InitPropertyBag","CLSID",0x00000000,"{13709620-C279-11CE-A49E-444553540000}"
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance\InitPropertyBag","method",0x00000000,"ShellExecute"
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance\InitPropertyBag","Command",0x00000000,%LinkName%
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\Instance\InitPropertyBag","Param1",0x00020000,%FileName%
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}",
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\ContextMenuHandlers\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}",,0x00000000,""
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\shellex\MayChangeDefaultMenu",,0x00000000,""
HKCR,"CLSID\{2559a1f6-21d7-11d4-bdaf-00c04f60b9f0}\ShellFolder","Attributes",0x00010001,0

HKCU,"Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached","{2559A1F6-21D7-11D4-BDAF-00C04F60B9F0} {00000000-0000-0000-C000-000000000046} 0x401",0x00000001, 01,00,00,00,39,00,34,00,28,38,37,b0,1d,53,c8,01
HKCU,"Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached","{2559A1F6-21D7-11D4-BDAF-00C04F60B9F0} {000214E8-0000-0000-C000-000000000046} 0x401",0x00000001, 01,00,00,00,39,00,34,00,ea,23,43,b0,1d,53,c8,01
HKCU,"Software\Microsoft\Windows\CurrentVersion\Shell Extensions\Cached","{2559A1F6-21D7-11D4-BDAF-00C04F60B9F0} {000214E6-0000-0000-C000-000000000046} 0x401",0x00000001, 00,00,00,00,39,00,34,00,28,ec,fb,b4,1d,53,c8,01

HKLM,"SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\StartMenu\StartPanel\ShowOEMLink","NoOEMLinkInstalled",0x00010001,0
HKCU,"Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced","Start_ShowOEMLink",0x00010001,1


[STRINGS]
;Имя ярлыка
LinkName = "Форум OSzone.net"
;Всплывающая подсказка к ярлыку
LinkTip  = "Ответ обязательно найдется!"
;Полный путь к значку
IconName = "C:\WINDOWS\OEM\oszone.ico"
;Полный путь к файлу или URL
FileName = "http://forum.oszone.net"
 

В разделе [Strings] необходимо указать собственные параметры. Запустить INF-файл из командной строки (с помощью cmdlines.txt или [GuiRunOnce]) можно так:

RUNDLL32.EXE SETUPAPI.DLL,InstallHinfSection DefaultInstall 128 <полный путь к inf-файлу>\factory.inf

В пути, как всегда, избегайте пробелов и спецсимволов, иначе придется заключать путь с именем в кавычки. Не забывайте, что в cmdlines.txt переменные окружения не поддерживаются.

Особенностью этого INF-файла является то, что отображение ярлыка можно отключить в настройках меню "Пуск", сняв флажок Ссылка на изготовителя (Manufacturer Link).

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


Ссылка: http://www.oszone.net/6477/