Раздел удаления моего .INF - PullRequest
3 голосов
/ 10 мая 2011

Я работаю над расширением существующего драйвера USB-устройства и пытаюсь понять, как работает файл .INF. Я считаю, что у меня это сейчас есть, драйвер устанавливает и работает. Он также отображается в списке «Установка и удаление программ».

Я обнаружил, что когда я удаляю драйвер из Add / Remove, он, кажется, мало что делает. Это было в .INF, как я унаследовал это:

[myUninstall]
DelReg = myDelReg

[MyDelReg]
HKLM, "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\myName"

Я не могу найти никаких других ссылок, даже там, где "myName" установлено в реестре Uninstall.

Я изменил .INF, чтобы иметь это:

[DefaultUninstall]
myUninstall

[myUninstall]
DelFiles = ... a list of files ...
DelDirs  = UNINST.Dirs
DelReg   = UNINST.Regs
Cleanup  = 1

[UNINST.Dirs]
%16422%\%InstallDir%

[UNINST.Regs]
myDev.AddReg
myDev.CommonRegs


[myDev.AddReg]      ; same definition used for installing
HKR,,Drivers,Subclasses,,"wave,midi,mixer,aux"
...

[myDev,CommonRegs]  ; same definition used for installing
HKR, Parameters, BufferSize, 0x0010001, 256
...

Тем не менее, независимо от того, удаляю ли я из Панели управления Установка и удаление программ или делаю это из диспетчера устройств, система не жалуется и, похоже, ничего не происходит. Я посмотрел на вывод "dpinst / c" и setupapi.log, и ни один не сказал мне много. dpinst не показывает ошибок, но явно не пытается выполнить мой раздел удаления.

Я нахожу в Интернете много словоблудия и примеров разделов удаления, но очень мало способов объяснения. Сегодня я наткнулся на одно предложение в одном форуме, что означало, что .nf-устройства PnP не используют Uninstall. Возможно, это моя проблема?

  1. Я ошибаюсь, думая, что я могу удалить в этом .INF?
  2. Есть ли другой способ рассказать, что происходит?
  3. мой единственный способ написать отдельный деинсталлятор?

1 Ответ

0 голосов
/ 08 ноября 2012

AFIK, файлы INF не участвуют в удалении.

Вам потребуется написать отдельный деинсталлятор, если вы хотите выполнить надлежащую очистку.

Также обратите внимание, что в Vista и более поздних версияхWindows также включает в себя хранилище драйверов, где она автоматически копирует пакет драйверов (inf и ссылки на файлы из inf).Если вы хотите выполнить полную очистку, следует также очистить хранилище драйверов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...