Описание плагина Uninstaller64

# Uninstaller64

Версия 1.0.1

Плагин для Total Commander, позволяющий управлять списком установленных в системе приложений.

Автор: |  | Власов Константин, 2012 г.
Домашняя страница: |  | http://flint-inc.ru/
E-mail: |  | support@flint_inc.ru

Распространяется по лицензии Artistic License 2.0.

Системные требования:

- 32-битная версия:
  Windows 2000 и выше
  Total Commander 7.50–8.0
- 64-битная версия:
  Процессор с поддержкой 64-битных команд (Intel Pentium 4, AMD Athlon 64 и выше)
  Windows XP x64 и выше
  Total Commander 8.0 x64

## Описание

Данный плагин позволяет просматривать список установленных приложений в окне Total Commander, просматривать информацию о соответствующих записях деинсталляции, запускать деинсталляцию и принудительно удалять нерабочие записи. Разработка велась по мотивам плагина UnInstaller, который длительное время не развивался и больше не подходит для использования в современных системах, не поддерживая ни Юникода, ни 64-битных систем. Плагин Uninstaller64 создан для предоставления тех же возможностей, но с учётом последних нововведений как в архитектуре Windows, так и в функциональности Total Commander. Стоит заметить, что текущая версия Uninstaller64 не полностью перекрывает функциональность UnInstaller, а именно, не поддерживается отображение расширенной информации об установленных обновлениях Windows. Впрочем, в UnInstaller она работает только в Windows XP и более старых системах, поэтому данный недостаток не критичен. И тем не менее, добавление этой функции запланировано на будущие версии (если получится, то и с поддержкой современных версий Windows). Более подробный список нововведений Uninstaller64 приведён в разделе История версий.

## Установка и использование

Для установки плагина просто откройте архив с ним в Total Commander и согласитесь на установку. Если автоустановка у вас отключена, то см. инструкции в справке Total Commander.

После установки в панели сетевого окружения TC появляется дополнительная папка с названием Uninstaller64. При заходе в эту папку выводится список установленных приложений. У каждой записи имеется фиктивное расширение вида `.L00D7`, играющее двойную роль. Во-первых, если бы имя записи состояло только из отображаемого имени приложения, то TC отделял бы часть имени после последней точки и считал бы это расширением, некрасиво разрывая имя на две части. Во-вторых, дописываемый суффикс устроен таким образом, что даже если в системе обнаружатся несколько приложений с одинаковыми именами, в панели TC не будет конфликтов, т.к. у них окажутся разные суффиксы. Кроме того, первая буква суффикса позволяет определить тип установки приложения. Если это `U`, то приложение установлено только для текущего пользователя, а если `L`, то это общесистемная установка. Кроме того, в 64-битных Windows для общесистемных приложений, установленных как 32-битные, будет использоваться буква `W`.

При выборе записи и нажатии `F3` открывается внутренний просмотрщик с информацией о записи деинсталляции. Также запись можно просто скопировать в виде файла, содержащего тот же текст. Содержимое представляет собой HTML-документ, поэтому рекомендуется пользоваться плагином просмотра наподобие HTMLView. Прочесть информацию можно будет и без него, возможностей встроенного просмотрщика TC по разбору и отображению HTML достаточно для корректного вывода его в виде текста, но плагины позволят улучшить оформление.

Нажатие `Alt+Enter` на записи или выбор команды Свойства в контекстном меню открывает диалог свойств, в котором можно редактировать основные параметры выбранной записи. Если прав пользователя недостаточно для модификации соответствующего ключа реестра, редактирование полей будет недоступно. В этом случае для модификации выбранной записи необходимо перезапустить Total Commander с правами Администратора.

Нажатие `Enter` запускает деинсталлятор для записи под курсором. Если нажать `Del` или `F8`, то после подтверждения запись будет удалена из реестра. Пользуйтесь этой функцией с осторожностью! После этого вы не сможете деинсталлировать приложение штатным образом.

## Настройка плагина

Чтобы вызвать диалог настройки плагина, откройте панель сетевого окружения в TC, выберите плагин и нажмите `Alt+Enter` (то же самое произойдёт при выборе команды Свойства в контекстном меню). Диалог содержит следующие опции:

- Отображать скрытые записи
  Если эта опция включена, плагин также отображает записи, отмеченные как скрытые. Скрытыми считаются записи, для которых в реестре не задано читабельное имя или которые по какой-либо причине не содержат информации о команде деинсталляции, а также системные компоненты. Запуск деинсталляции для таких пунктов не рекомендуется.
- Получать значки для скрытых записей
  Если скрытые записи отображаются, то, в зависимости от этой опции, у них может быть либо стандартный значок, использующийся TC для скрытых файлов, либо значок, заданный в реестре. Имейте в виду, что подавляющее большинство скрытых записей не предполагаются для показа в списке установленных приложений и поэтому не имеют индивидуального значка (в этом случае Uninstaller64 отображает собственный стандартный значок в виде коробки и CD-диска).
- Отображать заплатки Windows
  Этой опцией вы можете включать/выключать отображение установленных обновлений Windows. Точность работы этой функции пока что низкая, а в современных версиях Windows она не работает из-за сменившихся путей в реестре. Доработка запланирована на будущие версии.
- Подтверждать деинсталляцию
  Если эта опция включена, плагин будет запрашивать подтверждение перед запуском деинсталляции. Подавляющее большинство деинсталляторов сами выводят такое подтверждение или позволяют отменить запуск, не выполняя никаких действий, поэтому данную опцию можно оставить выключенной.
- Подтверждать только для скрытых записей
  Если предыдущая опция отключена, вы можете оставить подтверждения только для скрытых записей, чтобы обезопасить себя от случайного запуска деинсталляции такого компонента. Кроме того, скрытые компоненты не должны управляться пользователем, поэтому их деинсталляторы часто работают автоматически, без вывода подтверждений. Настоятельно рекомендуется держать эту опцию включённой.
- Расположение файла настроек плагина
  Плагин может хранить свои настройки в одном из трёх местоположений: собственный каталог, каталог установки Total Commander и каталог, где находится файл конфигурации TC (обычно он называется wincmd.ini). Вы должны выбрать такое местоположение, куда у текущего пользователя есть права на запись, иначе плагин не сможет сохранить свои настройки. Если у вас стандартная установка TC, рекомендуется держать настройки плагина вместе с wincmd.ini. Для портабельной конфигурации, когда wincmd.ini находится в каталоге установки TC, удобнее хранить файл настроек вместе с плагином, чтобы не засорять корневой каталог.
- Язык
  Здесь вы можете выбрать язык интерфейса плагина. Обратите внимание, что эта опция влияет только на перевод диалогов и содержимого HTML-файла с данными о ключах реестра. Имена встроенных информационных полей переводятся самим Total Commander автоматически, в соответствии с выбранным в нём языком интерфейса (если, конечно, соответствующая секция присутствует в файле `Uninstaller64.lng`).

## История версий

### Версия 1.0.1 (11.06.2012):

1. Исправлено: Плагин не удалял запись из списка после деинсталляции.
2. Исправлено: При успешном удалении записи выводилось сообщение об ошибке.
3. Исправлено: В некоторых случаях мог отображаться не весь список установленных приложений.
4. Добавлено: В порядке эксперимента: Скрытыми также помечаются записи MSI, у которых нет соответствующего дополнительного ключа в реестре.

### Версия 1.0.0 (9.06.2012):

Это первая публичная версия. Отличия от UnInstaller 1.8.1:

1. Наличие 64-битной версии плагина.
2. Полная поддержка Юникода.
3. Отображение как 32-битных, так и 64-битных записей деинсталляции (независимо от того, какая версия TC используется).
4. Улучшен вид HTML-документа с информацией о записи.
5. Улучшен выбор значка для отображения в панели TC.
6. Опции для подтверждения запуска деинсталляции.
7. Более точное отображение даты/времени установки приложения.
8. Корректный показ размера установленного приложения при работе в Windows Vista/7.
9. Поддержка фоновых операций.
10. Поля данных с основной информацией о записях деинсталляции.
11. Возможность выбора местоположения файла настроек.
12. При деинсталляции программ и удалении записей плагин не меняет индексы-расширения остальных записей, поэтому удаление нескольких приложений подряд не требует обновления списка, а курсор в панели TC не прыгает каждый раз в начало.
13. При удалении записи из реестра удаляются также вспомогательные ключи, а не только основной.
14. Диалог свойств записи автоматически становится нередактируемым, если нет доступа на модификацию данных для соответствующего ключа.
15. [Не реализовано] В HTML-файле с информацией не выводятся расширенные сведения об обновлениях Windows.