опубликован 25-01-2002 06:58 MSK
Добавка своих компонентов в список компонентов Windows идёт с помощью inf файлов. Вот пример.; RUSLAT95.INF
;
; This is the Setup information file to install
; RusLat95 in the Windows 95 retail product.
;
; Copyright (c) 1996-1997 by Sergey Bykov
[version]
;LayoutFile=layout.inf
signature="$CHICAGO$"
SetupClass=BASE
[DestinationDirs]
RusLat95.win = 25
RusLat95.sys = 11
RusLat95.inf = 17 ; LDID_INF
[SourceDisksNames]
70="Disk A","",1
[SourceDisksFiles]
RusLat95.exe=51,,23552
kbhook.dll= 51,,8704
RusLat95.dll=51,,23040
RusLat95.vxd=51,,5699
RusLat95.hlp=51,,8657
RusLat95.inf=51,,4519
kbdru8.kbd= 51,,473
kbdrut.kbd= 51,,473
kbdrud.kbd= 51,,473
[Optional Components]
RusLat95
[RusLat95]
OptionDesc = %RusLat95Opt_DESC%
Tip = %RusLat95_TIP%
;Parent = AccessTop
;Parent = MultiLanguageTop
CopyFiles = RusLat95.win, RusLat95.sys, RusLat95.inf
DelFiles = RusLat95.win, RusLat95.sys, RusLat95.inf
UpdateInis = RusLat95.links
AddReg = RusLat95.reg
InstallType = 0 ;Manual only
;IconIndex = 40 ;Windows mini-icon for dialogs
Uninstall = RusLat95_remove
Reboot = 1
[RusLat95_remove]
DelFiles = RusLat95.win, RusLat95.sys, RusLat95.inf
DelReg = RusLat95.reg
AddReg = RusLat95.remove.reg
UpdateInis = RusLat95.links.remove
;--- Clipboard Viewer Install Sections ----------------
[RusLat95.win]
RusLat95.exe
kbHook.dll
[RusLat95.sys]
RusLat95.dll
RusLat95.vxd
RusLat95.hlp
kbdru8.kbd
kbdrut.kbd
kbdrud.kbd
[RusLat95.inf]
RusLat95.inf
[RusLat95.links]
;setup.ini, progman.groups,, "group4=%APP_GROUP%" ;creates folder
;setup.ini, progman.groups,, "group5=%START_GROUP%" ;creates folder
;setup.ini, group4,, """%Clipbd_DESC%"", RusLat95.EXE,,,,,%Clipbd_ShortDESC%" ;creates link
;setup.ini, group5,, """%Clipbd_DESC%"", RusLat95.EXE,,,,,%Clipbd_ShortDESC%" ;creates link
[RusLat95.links.remove]
;setup.ini, progman.groups,, "group4=%APP_GROUP%" ;creates folder
;setup.ini, progman.groups,, "group5=%START_GROUP%" ;creates folder
;setup.ini, group4,, """%Clipbd_DESC%""" ;deletes link
;setup.ini, group4,, """%Clipbd_ShortDESC%""" ;deletes link
;setup.ini, group5,, """%Clipbd_DESC%""" ;deletes link
;setup.ini, group5,, """%Clipbd_ShortDESC%""" ;deletes link
[RusLat95.reg]
HKLM,%KEY_OPTIONAL%,"RusLat95",,"RusLat95"
HKLM,%KEY_OPTIONAL%\RusLat95,INF,,"RusLat95.inf"
HKLM,%KEY_OPTIONAL%\RusLat95,Section,,"RusLat95"
HKLM,%KEY_OPTIONAL%\RusLat95,Installed,,"1"
HKLM,%KEY_RUN%,RusLat95,,"RusLat95.exe"
HKCR,CLSID\%H_KEY%,,,"Property Sheet Extension for RusLat95"
HKCR,CLSID\%H_KEY%\InProcServer32,,,"ruslat95.dll"
HKCR,CLSID\%H_KEY%\InProcServer32,ThreadingModel,,"Apartment"
HKLM,%KEY_KB%\RusLat95,,,%H_KEY%
HKLM,%KEY_L%\%KOI8%,,,
HKLM,%KEY_L%\%KOI8%,"layout file",,"kbdru8.kbd"
HKLM,%KEY_L%\%KOI8%,"layout id",,"0088"
HKLM,%KEY_L%\%KOI8%,"layout text",,"Русская (КОИ-8)"
HKLM,%KEY_N%,%KOI8%,,"Русский (КОИ-8)"
;HKLM,%KEY_L%\%TRANS%,,,
;HKLM,%KEY_L%\%TRANS%,"layout file",,"kbdrut.kbd"
;HKLM,%KEY_L%\%TRANS%,"layout id",,"0089"
;HKLM,%KEY_L%\%TRANS%,"layout text",,"Russian Translit"
;HKLM,%KEY_N%,%TRANS%,,"Russian (Translit)"
;HKLM,%KEY_L%\%DOS%,,,
;HKLM,%KEY_L%\%DOS%,"layout file",,"kbdrud.kbd"
;HKLM,%KEY_L%\%DOS%,"layout id",,"0087"
;HKLM,%KEY_L%\%DOS%,"layout text",,"DOS-CP866"
;HKLM,%KEY_N%,%DOS%,,"DOS-CP866"
[RusLat95.remove.reg]
HKLM,%KEY_OPTIONAL%\RusLat95,Installed,,"0"
;------------------------------------------------------
[Strings]
;Non-Localizable strings:
KEY_OPTIONAL = "SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\OptionalComponents"
KEY_RUN = "SOFTWARE\Microsoft\Windows\CurrentVersion\Run" "
KEY_KB = "SOFTWARE\Microsoft\Windows\CurrentVersion\Controls Folder\Keyboard\shellex\PropertySheetHandlers"
H_KEY="{88b8bd00-c65c-11cd-a259-00dd010e8c28}"
KEY_L = "System\CurrentControlSet\control\keyboard layouts"
KEY_N = "System\CurrentControlSet\control\Nls\Locale"
KOI8 ="00008419"
TRANS="00003009"
DOS ="00003409"
;Localizable strings:
;APP_GROUP = "Acessories\System Tools"
;START_GROUP = "Statrup"
;APP_GROUP = "Стандартные\Служебные программы"
;START_GROUP = "Автозагрузка"
RusLat95Opt_DESC = "RusLat95"
RusLat95_TIP = "Индикатор переключения раскладки клавиатуры. Позволяет переключать раскладку нажатием правого Ctrl."
Clipbd_DESC = "Индикатор клавиатуры"
Clipbd_ShortDESC = "Rus Lat 95"
///////////////////////////////////
Посмотри про INF файлы в MSDN, там описаны setup API, может поможет.