PDA

Показать полную графическую версию : [addon] Unlocker


Страниц : 1 [2] 3 4 5 6 7 8 9 10 11 12 13 14 15 16

simplix
04-05-2006, 20:15
XXXler
Ты прав, он действительно становится после первого использования и перезагрузки. Моя ошибка была в том, что я не знал, что Unlocker разблокировывает далеко не все файлы, почему - не понятно, и поэтому считал что дело в драйвере, а точнее в его отсутствии, когда Unlocker впритык не видел блокирующих дескрипторов явно открытого файла (пример - IE).
MeTaL HAK
Проверил, и через инсталл не находит их в IE, видимо автору Unlocker'а ещё нужно помозговать над прогой... А меня такие неожиданные фичи подталкивали к мысли о необходимости установки драйвера... Инсталлятор исследовал, но там нету чистого скрипта установки, а тот что есть больше похож на бинарник - но в принципе это не важно, истина откопана - скоро сделаю свой аддон.

simplix
05-05-2006, 09:50
Собственно мой аддон Unlocker'а, к MeTaL HAK просьба прицепить текст ниже в топик (чтобы не создавать новую тему с одинаковым названием):
Скрытая, мгновенная установка
Никаких лишних файлов, нет ассистента и унистала
Упакованы некоторые файлы, после установки занимают всего 44 Кб на винте
Доступен в меню файла или папки -> Отправить, больше нигде чтобы не засорять систему
Ярлык в меню Отправить создаётся для текущего и любого нового пользователя
Русский язык
Минимальный размер аддона - всего 54,5 Кб
Возможность вытянуть инсталлятор из аддона и использовать его на любом компьютере
Скачать (http://rapidshare.de/files/19657830/Unlocker.cab.html) [зеркало] (http://slil.ru/22736153)

Solid Snake
06-05-2006, 22:50
Спасибо за аддон.
Кстати вышла уже Unlocker 1.8.3...

- New feature: Unlocker Assistant icon can be hidden from the notification area.
- Improved UI: Better error message in case there is a conflict with Unlocker Assistant.
- Fixed bug: UNC paths should now work as intended.
- Fixed bug: Strong delete works again. This bug appeared in version 1.7.7. Index.dat and many more should be deleted as before now.
- Fixed bug: Unlocker Assistant will detect if it is already running and will only run one instance.
- Fixed bug: Unlocker Assistant will detect if there a program conflicting and properly exit.
_http://ccollomb.free.fr/unlocker/unlocker1.8.3.exe

andryuha
06-05-2006, 22:59
Скажите как править аддон чтобы пункт Unlocker был сразу в "меню файла"?

MeTaL
07-05-2006, 07:32
Кстати вышла уже Unlocker 1.8.3...
Новая версия уже готова, сейчас ведётся тестирование... Через пару часов выложу...
Скажите как править аддон чтобы пункт Unlocker был сразу в "меню файла"?
Ты имеешь в виду в контекстном меню при нажатии правой кнопкой мыши? В моём аддоне итак это реализовано... Кому это не нравится, переделывайте под себя.

MeTaL
07-05-2006, 12:29
Новая версия, см. первый топик.
___
Хм.. странный глюк, не могу переименовать тему на "[addon] Unlocker 1.8.3"... В редактировании всё правильно написано, а через главную страницу (http://forum.oszone.net/forum-62.html) 1.8.2 отображается...

dimadr
07-05-2006, 13:59
MeTaL HAK
Это не глюк, а ограничение доступа.

simplix
07-05-2006, 16:20
Соответственно обновился мой аддон: Скачать (http://rapidshare.de/files/19842957/Unlocker.cab.html) [зеркало] (http://slil.ru/22741784)

XXXler
07-05-2006, 17:02
MeTaL HAK
Можно еще при lдеинсталле удалить из реестра:

HKCR,"CLSID\UnlockerShellExtension"


С драйвером похуже - удалять можно от учетки System...

MeTaL
07-05-2006, 17:30
XXXler
Всё правильно.
На сколько я выяснил, драйвер прописывает себя по двум путям в реестре. Один из них легко удаляется(я пока не стал реализовывать это в аддоне), а для второго нужно повышение привилегий. Это не сложно сделать, но тогда понадобится необходимость в добавлении 1-2 файлов в аддон + прописывать их запуск и т.д. Я думаю пока не буду усложнять аддон. Если пользователи поддержат, я сделаю полный uninstal к аддону.

PS, можно внедрить в реестр запись драйвера в реестр так, что проге не понадобится ничего добавлять при первом запуске, причём не нужна будет регистрация UnlockerCOM.dll. Я тестировал такую версию, все работает замечательно, при первой же загрузке UnlockerDriver5 на месте. Ну это так, к слову, легче конечно просто регить dll'ку и потом ещё unreg при uninstal'е.

XXXler
07-05-2006, 17:54
Я заметил, что сведения о драйвере остаются даже после родного UnInstall`a

MeTaL
07-05-2006, 18:29
XXXler
В принципе этого и следовало ожидать, удалить просто так ключ в реестре связанный с драйвером нельзя...

А ты случайно не путаешь "HKCR" с "HKLM"? Я у себя проверил на VM, по адресу HKCR,"SOFTWARE\Classes\CLSID" нету "UnlockerShellExtension". Ни до, ни после uninstal'а аддона. Зато есть в HKLM.
Я на всякий случай сделаю удаление обоих путей...

XXXler
07-05-2006, 18:38
Не, там же идет:

HKCR,"CLSID\UnlockerShellExtension"

MeTaL
07-05-2006, 19:13
Хм... не знаю... У меня нету ни в виртуальной, ни в "живой" машине "HKEY_CURRENT_USER\CLSID" и даже "HKEY_LOCAL_MACHINE\CLSID" нету, clsid идёт только после "SOFTWARE\Classes".

2All
Есть ли у кого-нить полный русский help по созданию Inf-файлов? Или кто может подсказать все параметры функции Uninstall, в часности как работает параметр Run?

XXXler
07-05-2006, 20:32
HKCR - HKEY_CLASSES_ROOT

http://oszone.net/display.php?id=3827

правда там не все

MeTaL
07-05-2006, 20:50
блин, затормозил конкретно :)
Добавлю в аддон удаление... Завтра наверно обновлю... Сегодня уже котелок не варит... :)

simplix
08-05-2006, 12:41
можно внедрить в реестр запись драйвера в реестр так, что проге не понадобится ничего добавлять при первом запуске, причём не нужна будет регистрация UnlockerCOM.dll. Я тестировал такую версию, все работает замечательно, при первой же загрузке UnlockerDriver5 на месте.Напиши пожалуйста подробнее, а то насколько я знаю в реестр там где прописан (root кажется, вечером напишу какой конкретно) UnlockerDriver5 имеет доступ только SYSTEM, и все остальные не могут в него писать. А ещё лучше выложи ту версию, которую ты тестировал, очень интересно посмотреть.
Я заметил, что сведения о драйвере остаются даже после родного UnInstall`aУ меня удаляются, причём сразу и без следа - редко нужна перезагрузка. Но это при родном UnInstall, самодельный не пользовал.

XXXler
08-05-2006, 13:10
У меня удаляются, причём сразу и без следа - редко нужна перезагрузка. Но это при родном UnInstall, самодельный не пользовал.
Не, сведения на месте - еще когда свой делал - обратил внимание. Он все время после удаления висит как скрытый в списке дров не PnP.

MeTaL
08-05-2006, 15:50
simplix, прикрепляю только inf-файл той версии, остальное то же самое. Там прописаны в реестр все записи о драйвере. Хотя они по сути и не нужны, т.к. автоматом создаются при первом запуске проги.

Блин, всё не могу реализовать нормальный запуск exe'шника при uninstal'е Unlocker'а. :(
Прописываю например Commandline="%11%\filename.exe %16422%\%U%\unldrrem.dll", но почему-то не срабатывает... Скажи кто знает, как разрешено ставить кавычки в пути к файлам? В смысле "%11%\filename.exe" "%16422%\%U%\unldrrem.dll" можно делать? Или ещё как? Когда вручную в уже установленной системе пишу, всё работает...

simplix
08-05-2006, 19:20
XXXler
В смысле фантомный - ну так он же не работает, следовательно ресурсы системы не занимает (хотя там и занимать нечего).
MeTaL HAK
Даже в твоём инф есть строчка:HKLM,"SYSTEM\CurrentControlSet\Enum\Root\LEGACY_UNLOCKERDRIVER5" ;не работает, т.к. нет доступа к удалениюНо дело в том, что там нет доступа и для записи. Вот мои исследования на эту тему, т. е. что нужно сделать для ручного добавления в реестр UnlockerDriver5:[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\UnlockerDriver5]
"ImagePath"="\\??\\C:\\Program Files\\Unlocker\\UnlockerDriver5.sys"
"Type"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\UnlockerDriver5\Enum]
"0"="Root\\LEGACY_UNLOCKERDRIVER5\\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_UNLOCKERDRIVER5]
"NextInstance"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_UNLOCKERDRIVER5\0000]
"Service"="UnlockerDriver5"
"Legacy"=dword:00000001
"ConfigFlags"=dword:00000000
"Class"="LegacyDriver"
"ClassGUID"="{8ECC055D-047F-11D1-A537-0000F8753ED1}"
"DeviceDesc"="UnlockerDriver5"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_UNLOCKERDRIVER5\0000\Control]
"*NewlyCreated*"=dword:00000000
"ActiveService"="UnlockerDriver5"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Unlocker]
"Language"="1049"И не срабатывает он, потому что в [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_UNLOCKERDRIVER5] нельзя записывать никому кроме SYSTEM.
Кстати, всё думал как у тебя получилось этим аддоном добавить в Root эти записи, ведь на первый взгляд это невозможно без спец. средств, а потом вспомнил как пытался поставиль msi-пакет во время установки в скрытом режиме, и после остановки я увидел что он не установился, а в логах было сообщение об ошибке - недостаточно прав. Так я сделал вывод, что установка винды проходит под учётной записью SYSTEM, поэтому и аддон срабатывает, а уже под админом из винды не установка, ни удаление этого драйвера путём удаления ключа [HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Enum\Root\LEGACY_UNLOCKERDRIVER5] не сработает - не будет прав. Вот такая загогулина.
И ещё - не пойму зачем в этом аддоне удаление? Утилка маленькая, полезная и незаметная (в моём варианте аддона), и если человек не хочет чтобы она была в дистрибутиве, легче её просто не добавлять туда, чем делать унисталл. Так зачем же её удалять - неужели 45 Кб на винте это так много?




© OSzone.net 2001-2012