СПОСОБ ДЕИНСТАЛЛЯЦИИ КОМПЬЮТЕРНОЙ ПРОГРАММЫ В МНОГОПОЛЬЗОВАТЕЛЬСКОЙ СРЕДЕ
METHOD OF UNINSTALLING SOFTWARE IN MULTIUSER ENVIRONMENT

Изобретение относится к области вычислительной техники, а именно к способам деинсталляции компьютерной программы в многопользовательской среде, и может быть применено в инсталляторах компьютерных программ, которые работают под операционными системами Windows, MacOS и ОС семейства UNIX.
В настоящее время широкое распространение получили многопользовательские компьютерные среды, каждая из которых содержит компьютер с установленной на нем операционной системой, выполненной с возможностью работы на ней нескольких пользователей, то есть в данной среде один компьютер может использоваться несколькими пользователями. Каждый пользователь имеет возможность инсталлировать и деинсталлировать компьютерную программу для настройки функций компьютера. В течение срока службы компьютерная программа, установленная одним из пользователей, также доступна другим пользователям операционной системы и среды. Данные, генерируемые этой компьютерной программой, индивидуальны для каждого пользователя и сохраняются в частные области данных пользователей в памяти компьютера для обеспечения целостности функционирования многопользовательской среды. Для удаления программы из среды применяют различные способы деинсталляции.
Известен способ деинсталляции компьютерной программы (см. патент США №7107366 [1]), в котором изменения в клиентском компьютере во время деинсталляции отображаются и архивируются, позволяя пользователю впоследствии самостоятельно удалить обновления.
Наиболее близким к заявленному изобретению является способ деинсталляции компьютерной программы из компьютерной системы, описанный в патенте США №6631521 [2], в котором посылают запрос в первую программу деинсталляции для деинсталляции инсталлированной программы. Первая программа деинсталляции находится в первой директории. Затем посылают запрос в загрузчик классов для загрузки второй программы деинсталляции. Вторую программу деинсталляции устанавливают во второй директории. Первая программа деинсталляции обрабатывает наборы файлов для определения инсталлированных компонентов, которые нужно удалить, и удаляет инсталлированные компоненты. Для выполнения операций деинсталляции посылают запрос из первой программы деинсталляции во вторую программу деинсталляции. Данный способ является наиболее близким к заявляемому изобретению и выбран в качестве прототипа.
Недостатком описанных выше существующих способа-аналога и способа-прототипа заявленного изобретения является то, что в них не учитывают, что компьютерная программа может быть инсталлирована одним пользователем, но используется несколькими пользователями системы, поэтому в существующих способах деинсталляции выполняют удаление данных, относящихся только к тому пользователю, который выполняет деинсталляцию, так как он не имеет доступа к частным областям данных других пользователей. При этом данные, ассоциированные с деинсталлируемой компьютерной программой и расположенные в частных областях данных других пользователей, в существующих способах деинсталляции не удаляются и остаются в памяти компьютера, что приводит к переполнению памяти и необходимости для пользователя вручную находить такие не удаленные данные и удалять их. Таким образом, ухудшается функциональность и удобство пользования при деинсталляции.
Задачей заявленного изобретения является создание способа деинсталляции компьютерной программы в многопользовательской среде с повышенной функциональностью и удобством пользования за счет автоматического удаления из частной области данных пользователей в памяти специфических данных компьютерной программы, предназначенных для данных пользователей, после перезапуска системы и компьютера в процессе деинсталляции.
Поставленная задача решена путем создания способа деинсталляции компьютерной программы в многопользовательской среде, в котором удаляют из памяти многопользовательской среды функциональные файлы компьютерной программы и данные компьютерной программы пользователя, выполняющего деинсталляцию, при этом основное отличие заключается в том, что формируют средство очистки в общей области памяти многопользовательской среды, при этом заносят в него информацию о структуре и расположении специфических данных пользователей компьютерной программы в памяти; формируют счетчик пользователей для средства очистки в общей области памяти многопользовательской среды, при этом заносят в него список с числом пользователей компьютерной программы; перезапускают операционную систему многопользовательской среды; активируют средство очистки; для каждого пользователя компьютерной программы с помощью средства очистки удаляют из частной области данных пользователя в памяти специфические данные компьютерной программы, предназначенные для данного пользователя, и при этом уменьшают число пользователей в счетчике на единицу; удаляют средство очистки из общей области памяти.
Для функционирования способа важно, чтобы заносили в счетчик список идентификаторов пользователей, при этом установка начального значения счетчика соответствовала заполнению списка, уменьшение значения счетчика соответствовало удалению элемента списка, а проверка на нулевое значение соответствовала проверке пустоты списка с предшествующим удалением более недействительных идентификаторов.
Для функционирования способа важно, чтобы активировали средство очистки с помощью сокращенной клавиатурной команды или ссылки, которая до этого запускала компьютерную программу на экране монитора.
Для функционирования способа важно, чтобы удаляли средство очистки из запоминающего устройства с помощью самого средства очистки.
Для функционирования способа важно, чтобы обеспечивали перезапуск пользователем операционной системы многопользовательской среды.
Техническим результатом заявленного изобретения является повышение функциональности и удобства пользования способа деинсталляции компьютерной программы в многопользовательской среде.
Для лучшего понимания заявленного изобретения далее приводится его подробное описание с соответствующими чертежами.
Фиг.1. Блок-схема способа деинсталляции компьютерной программы в многопользовательской среде, выполненная согласно изобретению.
Фиг.2. Блок-схема многопользовательской среды, пригодной для осуществления заявленного способа деинсталляции.
Рассмотрим пошаговое выполнение заявленного способа деинсталляции в многопользовательской среде (Фиг.1). Сначала выполняют обычные операции деинсталляции, а именно удаляют из памяти многопользовательской среды функциональные файлы компьютерной программы и данные компьютерной программы пользователя, выполняющего деинсталляцию (шаг 1). Затем формируют средство очистки в общей области памяти многопользовательской среды, при этом заносят в него информацию о структуре и расположении специфических данных пользователей компьютерной программы в памяти (шаг 2). Формируют счетчик пользователей для средства очистки в общей области памяти многопользовательской среды, при этом заносят в него список с числом пользователей компьютерной программы (шаг 3). Осуществляют перезапуск пользователем операционной системы многопользовательской среды (шаг 4). Активируют средство очистки (шаг 5). Для каждого пользователя компьютерной программы с помощью средства очистки удаляют из частной области данных пользователя в памяти специфические данные компьютерной программы, предназначенные для данного пользователя, и при этом уменьшают число пользователей в счетчике на единицу (шаг 6). Удаляют средство очистки из общей области памяти (шаг 7).
Заявленное изобретение может быть применено в пакетах деинсталляции компьютерных программ, которые производят деинсталляцию компьютерных программ на компьютеры, которые поддерживают многопользовательский интерфейс, например в среде, показанной на Фиг.2.
В данной среде один компьютер используется более чем одним пользователем: например Пользователем 1 и Пользователем 2. На компьютере установлена программа, выполненная с возможностью сохранения установки и данных в энергонезависимой памяти 201 как в области 202, общей для всех пользователей, так и в областях 203, 204 Пользователя 1 и Пользователя 2. Причем области пользователей не могут быть доступны никому, кроме владельца.
В случае если Пользователь 1 деинсталлирует программу, сначала удаляют программу и ее данные и установки из общей области 202 памяти 201, а затем данные программы и установки из области 203 памяти 201 Пользователя 1. При этом данные и установки из области 204 памяти 201 Пользователя 2 остаются неудаленными.
В заявленном изобретении для удаления данных и установок из области 204 памяти 201 Пользователя 2 выполняют дополнительные операции. Формируют в общей области 202 памяти 201 средство очистки пользовательских данных и установок. Формируют в общей области 202 памяти 201 счетчик пользователей для средства очистки, который подсчитывает количество пользователей компьютера, помимо Пользователя 1, и записывает список с количеством пользователей в общую область 202 памяти 201. Когда Пользователь 2 перезапустит систему, средство очистки начнет работать и удалит специфические данные программы из частной области 204 памяти 201 Пользователя 2, а также удалит ярлык средства очистки из настроек пользователя и уменьшит значение счетчика. Если больше не осталось пользователей, данные которых нуждаются в удалении, средство очистки удаляет само себя.
В заявленном способе деинсталляции учитывают тот факт, что несколько пользователей могут работать с компьютером и назначать операции очистки данных, хранящихся в частных областях данных каждого пользователя, зарегистрированного в компьютере на момент деинсталляции. Таким образом, некоторые данные, специфические для данной определенной компьютерной программы, становятся неиспользуемыми после деинсталляции, но по-прежнему сохраняются в памяти компьютера до перезапуска системы и компьютера.
Заявленное изобретение может быть применено в инсталляторах, которые работают под Windows, MacOS и ОС семейства UNIX.
Хотя указанный выше вариант выполнения изобретения был изложен с целью иллюстрации настоящего изобретения, специалистам ясно, что возможны разные модификации, добавления и замены, не выходящие из объема и смысла настоящего изобретения, раскрытого в прилагаемой формуле изобретения.