Я работаю над расширением существующего драйвера 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. Возможно, это моя проблема?
- Я ошибаюсь, думая, что я могу удалить в этом .INF?
- Есть ли другой способ рассказать, что происходит?
- мой единственный способ написать отдельный деинсталлятор?