Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ ΠΊΠ½ΠΈΠ³ΠΈ ΠΎΠ½Π»Π°ΠΉΠ½ Π½Π° Bookidrom.ru! БСсплатныС ΠΊΠ½ΠΈΠ³ΠΈ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠ»ΠΈΠΊΠ΅

Π§ΠΈΡ‚Π°Ρ‚ΡŒ ΠΎΠ½Π»Π°ΠΉΠ½ «НСдокумСнтированныС ΠΈ малоизвСстныС возмоТности Windows XPΒ». Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° 82

Автор Π ΠΎΠΌΠ°Π½ КлимСнко

Для удалСния слуТбы ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово DelService, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Ρ‚Π°ΠΊΠΆΠ΅ указываСтся Π² Π±Π»ΠΎΠΊΠ΅, Π½Π°Π·Π²Π°Π½Π½ΠΎΠΌ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ [Β«Π±Π»ΠΎΠΊ удалСния».Services]. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ слуТбы выполняСтся Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ β€” просто указываСтся имя слуТбы, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ (Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π° рССстра, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ слуТба описана).

Листинг 15.6. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ удалСния слуТбы

[version]

Signature="$CHICAGO$"


[Uninstall.Services]

DelService=sr

Π’ листингС 15.6 ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово DelService ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² Π±Π»ΠΎΠΊΠ΅ [Uninstall.Services], Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Π±Π»ΠΎΠΊ [Uninstall] ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ INF-Ρ„Π°ΠΉΠ»Π° для удалСния слуТбы с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ rundll32.exe.

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π² INF-Ρ„Π°ΠΉΠ»Π°Ρ… Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ слоТно. Для Π΅Π³ΠΎ выполнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово CopyFiles, Π½ΠΎ ΠΈ, ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠ° INF-Ρ„Π°ΠΉΠ»Π°: DestinationDirs, SourceDisksFiles ΠΈ SourceDisksNames. Рассмотрим простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€. 

Листинг 15.7. ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

[version]

Signature = $CHICAGO$


[DefaultInstall]

CopyFiles = INFcopy


[INFcopy]

1.INF


[DestinationDirs]

INFcopy = 17


[SourceDisksFiles]

1.INF = 55


[SourceDisksNames]

55 = "имя диска", , 1

Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ для описания ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±Π»ΠΎΠΊ INF-Ρ„Π°ΠΉΠ»Π° [INFcopy]. Бсылка Π½Π° Π½Π΅Π³ΠΎ содСрТится Π² ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ словС CopyFiles. Π’ этом Π±Π»ΠΎΠΊΠ΅ находятся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ названия Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ скопированы (Ссли Ρ„Π°ΠΉΠ»ΠΎΠ² нСсколько, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· Π½ΠΈΡ… ΠΏΠΈΡˆΠ΅Ρ‚ΡΡ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ строкС). ΠšΡ€ΠΎΠΌΠ΅ Π±Π»ΠΎΠΊΠ° [INFcopy], Ρ„Π°ΠΉΠ» ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Ρ‚Ρ€ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… стандартных Π±Π»ΠΎΠΊΠ° INF-Ρ„Π°ΠΉΠ»ΠΎΠ².

Π‘Π»ΠΎΠΊ [DestinationDirs] опрСдСляСт ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Ρ‹, описанныС Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π±Π»ΠΎΠΊΠ°Ρ… INF-Ρ„Π°ΠΉΠ»Π°, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для описания ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΡ€ΠΈ этом всС Ρ„Π°ΠΉΠ»Ρ‹, описанныС Π² ΠΎΠ΄Π½ΠΎΠΌ Π±Π»ΠΎΠΊΠ΅ INF-Ρ„Π°ΠΉΠ»Π°, Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ (Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ссли Π±Ρ‹ Π² нашСм Π±Π»ΠΎΠΊΠ΅ [INFcopy] ΠΎΠΏΠΈΡΡ‹Π²Π°Π»ΠΎΡΡŒ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ 1.INF ΠΈ 2.INF, Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΎΠ±Π° Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Π»ΠΈ Π±Ρ‹ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² ΠΎΠ΄ΠΈΠ½ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³). Π€ΠΎΡ€ΠΌΠ°Ρ‚ опрСдСлСния ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Ρ„Π°ΠΉΠ»Ρ‹, ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Β«Π±Π»ΠΎΠΊ описания ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²Β»=«числовой Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Β»,«дальнСйший ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΡƒΒ»

Числовой Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° прСдставляСт собой число, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ ΠΎΠ΄Π½Ρƒ ΠΈΠ· систСмных ΠΏΠ°ΠΏΠΎΠΊ. Рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· этих чисСл, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚.

β–  10 β€” %systemroot%.

β–  11 β€” %systemroot%\system32.

β–  17 β€” %systemroot%\Inf.

β–  53 β€” %userprofile%.

β–  54 β€” %systemdrive%.

β–  1 β€” Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ записан послС числового Π½ΠΎΠΌΠ΅Ρ€Π° (Ρ‡Π΅Ρ€Π΅Π· Π·Π°ΠΏΡΡ‚ΡƒΡŽ). ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΌ называСтся ΠΏΡƒΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ начинаСтся с числового Π½ΠΎΠΌΠ΅Ρ€Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°. НапримСр, числовым являСтся ΠΏΡƒΡ‚ΡŒ d:\test\1.

Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π±Π»ΠΎΠΊΠ° [SourceDisksFiles] осущСствляСтся присваиваниС ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π² Π±Π»ΠΎΠΊΠ΅ [SourceDisksNames] Π½Π°Π·Π²Π°Π½ΠΈΠ΅ диска, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ копируСтся Ρ„Π°ΠΉΠ». Π€ΠΎΡ€ΠΌΠ°Ρ‚ строк этого Π±Π»ΠΎΠΊΠ° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Β«Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°Β»=Β«ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ диска, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится этот Ρ„Π°ΠΉΠ»Β»

Π‘Π»ΠΎΠΊ [SourceDisksNames] опрСдСляСт диски, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… находятся ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹. Π€ΠΎΡ€ΠΌΠ°Ρ‚ строк этого Π±Π»ΠΎΠΊΠ° Ρ‚Π°ΠΊΠΎΠ²:

Β«ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ диска»=«имя диска»,Β«ΠΌΠ΅Ρ‚ΠΊΠ° диска»,«сСрийный Π½ΠΎΠΌΠ΅Ρ€ диска» 

ΠœΠ΅Ρ‚ΠΊΠ° диска отобраТаСтся Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ копирования Ρ„Π°ΠΉΠ»ΠΎΠ². Π­Ρ‚Π° ΠΌΠ΅Ρ‚ΠΊΠ° Ρ‚Π°ΠΊΠΆΠ΅ отобраТаСтся Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠΌ, Ссли систСма Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ для копирования Ρ„Π°ΠΉΠ»Ρ‹. Π’ этом случаС систСма попросит вас Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ диск, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Ρ€Π°Π· ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΎ Π² Π±Π»ΠΎΠΊΠ΅ [SourceDisksNames].

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅Ρ‚ ΠΈΡ… ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, поэтому рассмотрим этот процСсс лишь повСрхностно β€” Π² подсказках ΠΊ листингу 15.8. Для опрСдСлСния Π±Π»ΠΎΠΊΠΎΠ², содСрТащих описания удаляСмых Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово DelFiles.

Листинг 15.8. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»ΠΎΠ²

[version]

Signature = $CHICAGO$


;Π΄Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ rundll32

[DefaultUninstall]

DelFiles = INFdel


;ΠΌΡ‹ Π±ΡƒΠ΄Π΅ΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» vfolder.INF

[INFdel]

vfolder.INF

;Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π΄Π°Π½Π½Ρ‹ΠΉ Π±Π»ΠΎΠΊ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹,

;Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Ρ„Π°ΠΉΠ»Ρ‹, описанныС Π² Π±Π»ΠΎΠΊΠ΅

[DestinationDirs]

INFdel = 17


[SourceDisksFiles]

vfolder.INF = 55


[SourceDisksNames]

55 = "имя диска", , 1

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ярлыка Ρ„Π°ΠΉΠ» Π² мСню ΠŸΡƒΡΠΊ

Π­Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ благодаря INF-Ρ„Π°ΠΉΠ»Ρƒ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ProfileItems ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊ INF Ρ„Π°ΠΉΠ»Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ описываСтся создаваСмый Π² мСню ΠŸΡƒΡΠΊ ярлык. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ создаСтся ярлык ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ВосстановлСниС систСмы Π² мСню ΠŸΡƒΡΠΊ (Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅β–ΊΠ‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹Π΅).

Листинг 15.9. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ярлыка

[version]

Signature="$CHICAGO$"


[DefaultInstall]

ProfileItems=SRProfile


[SRProfile]

Name="ВосстановлСниС систСмы"

CmdLine=11,restore,rstrui.exe

SubDir="Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅\Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹Π΅"

InfoTip="Π­Ρ‚ΠΎ подсказка, отобраТаСмая ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ указатСля Π½Π° ярлык"

DisplayResource="%systemroot%\system32\restore\rstrui.exe",2048

ProfileItems=SRProfile

Π‘Π»ΠΎΠΊ для описания ярлыка Π² мСню ΠŸΡƒΡΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова.

β–  Name β€” опрСдСляСт Π½Π°Π·Π²Π°Π½ΠΈΠ΅ создаваСмого Π² мСню ΠŸΡƒΡΠΊ ярлыка.

β–  CmdLine β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ создаСтся ярлык. Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ‹Ρ‡Π΅Π½: «числовой ΠΏΡƒΡ‚ΡŒ ΠΊ стандартному ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°, Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°Β».

β–  SubDir β€” опрСдСляСт располоТСниС ярлыка Π² мСню ΠŸΡƒΡΠΊ. Если Ρ‚ΠΎΡ‡Π½Π΅Π΅, Ρ‚ΠΎ Π΄Π°Π½Π½ΠΎΠ΅ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово опрСдСляСт дальнСйший ΠΏΡƒΡ‚ΡŒ ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ярлык Π½Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ. Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ добавляСтся ΠΊ ΠΏΡƒΡ‚ΠΈ %systemdrive%\Documents and Settings\All Users\Π“Π»Π°Π²Π½ΠΎΠ΅ мСню\ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

β–  WorkingDir β€” ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‡ΠΈΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ создаСтся ярлык (ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, это ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π½Π΅ указываСтся).

β–  InfoTip β€” опрСдСляСт подсказку, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡƒΡŽ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ указатСля Π½Π° созданный Π² мСню ΠŸΡƒΡΠΊ ярлык.

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ INF-Ρ„Π°ΠΉΠ»Ρ‹

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ INFΡ„Π°ΠΉΠ»Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠΉ строкой, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² Π±Π»ΠΎΠΊ [version]. НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π±Π»ΠΎΠΊΠ° вСрсии для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ INF-Ρ„Π°ΠΉΠ»Π°.

[Version]

Signature="$CHICAGO$"

AdvancedINF=2.5,"Π­Ρ‚Π° строка Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ, Ссли Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ advpack.dll"

Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹ΠΌΠΈ INFΡ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° advpack.dll, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ располоТСнная Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ %systemroot%. Если ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ выполнСния Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ³ΠΎ INFΡ„Π°ΠΉΠ»Π° систСма Π½Π΅ Π½Π°ΠΉΠ΄Π΅Ρ‚ Π΄Π°Π½Π½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, Ρ‚ΠΎ ΠΎΠ½Π° Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ сообщСниС, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΌ словС AdvancedINF послС запятой. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅, ΠΊΠ°ΠΊ извСстно, Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ INFΡ„Π°ΠΉΠ»Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ rundll32.exe ADVPACK.dll, LaunchINFSectionEx «имя Ρ„Π°ΠΉΠ»Π°Β», Β«ΠΈΠΌΡ Ρ€Π°Π·Π΄Π΅Π»Π°Β», «имя cab-Ρ„Π°ΠΉΠ»Π°Β», Β«Ρ„Π»Π°Π³Β». Π’ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅ INF-Ρ„Π°ΠΉΠ»Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹: rundll32.exe setupapi.dll, InstallHINFSection Β«Ρ€Π°Π·Π΄Π΅Π» Π² Ρ„Π°ΠΉΠ»Π΅ для Π½Π°Ρ‡Π°Π»Π° установки», Β«Ρ„Π»Π°Π³Β», Β«ΠΏΡƒΡ‚ΡŒ ΠΈ имя Ρ„Π°ΠΉΠ»Π°Β».

Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΄ΠΎ ΠΈ послС установки

Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ INF-Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Ρ‚Π°ΠΊΡƒΡŽ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ, ΠΊΠ°ΠΊ запуск ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠ΅Ρ€Π΅Π΄ установкой INF-Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ послС Π½Π΅Π΅. ΠŸΡ€ΠΈ этом для указания Π±Π»ΠΎΠΊΠ°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, запускаСмыС ΠΏΠ΅Ρ€Π΅Π΄ установкой INF-Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово RunPreSetupCommands. Для указания Π±Π»ΠΎΠΊΠ°, ΠΎΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, запускаСмыС послС установки INF-Ρ„Π°ΠΉΠ»Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово RunPostSetupCommands. ΠŸΠΎΡΠΌΠΎΡ‚Ρ€ΠΈΠΌ Π½Π° ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования этих ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Ρ… слов.

Листинг 15.10. Запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ Π΄ΠΎ ΠΈ послС установки INF-Ρ„Π°ΠΉΠ»Π°

[version]

Signature = $CHICAGO$

AdvancedINF=2.5,"Π­Ρ‚Π° строка Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ, Ссли Π½Π° ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ advpack.dll"


[DefaultInstall]

RunPreSetupCommands=RunPre

RunPostSetupCommands=RunPost


[RunPre]

calc.exe

cmd.exe


[RunPost]

"rundll32.exe IEAKENG.dll, DoReboot"

ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ Π² листингС 15.10 INF-Ρ„Π°ΠΉΠ» ΠΏΠ΅Ρ€Π΅Π΄ своСй установкой Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠšΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€, Π° ΠΏΠΎΡ‚ΠΎΠΌ β€” стандартный ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Windows. ПослС своСй установки ΠΎΠ½ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с вопросом ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π°. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, это ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ Internet Explorer, Π½ΠΎ Π·Π°Ρ‚ΠΎ ΠΎΠ½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

ΠŸΠ Π˜ΠœΠ•Π§ΠΠΠ˜Π•

Вопрос ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π»Π°Π³ΠΎΠ² Π²Ρ‹Π·ΠΎΠ²Π° INF-Ρ„Π°ΠΉΠ»Π°, Π½ΠΎ Π² листингС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ rundll32.exe.