RU2635891C2 - Механизм инсталляции и формат пакета для распараллеливаемых надежных инсталляций - Google Patents

Механизм инсталляции и формат пакета для распараллеливаемых надежных инсталляций Download PDF

Info

Publication number
RU2635891C2
RU2635891C2 RU2014128842A RU2014128842A RU2635891C2 RU 2635891 C2 RU2635891 C2 RU 2635891C2 RU 2014128842 A RU2014128842 A RU 2014128842A RU 2014128842 A RU2014128842 A RU 2014128842A RU 2635891 C2 RU2635891 C2 RU 2635891C2
Authority
RU
Russia
Prior art keywords
version
computer
computer application
subsequent
subsequent version
Prior art date
Application number
RU2014128842A
Other languages
English (en)
Other versions
RU2014128842A (ru
Inventor
Джереми ХАУБОЛД
Клаудио ПАЧЧИАРИНИ
Original Assignee
МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи filed Critical МАЙКРОСОФТ ТЕКНОЛОДЖИ ЛАЙСЕНСИНГ, ЭлЭлСи
Publication of RU2014128842A publication Critical patent/RU2014128842A/ru
Application granted granted Critical
Publication of RU2635891C2 publication Critical patent/RU2635891C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Stored Programmes (AREA)

Abstract

Изобретение относится к средствам обновления компьютерных приложений. Технический результат заключается в возможности обновления компьютерного приложения, из расчета на каждую учетную запись пользователя. Указанный результат достигается за счет применения способа обновления компьютерного приложения, который содержит этапы: исполняют предшествующую версию компьютерного приложения в учетной записи первичного пользователя на компьютерном устройстве; инсталлируют последующую версию компьютерного приложения для учетной записи первичного пользователя; и исполняют последующую версию компьютерного приложения в учетной записи первичного пользователя, в то время как учетная запись вторичного пользователя на компьютерном устройстве имеет предшествующую версию компьютерного приложения. 3 н. и 17 з.п. ф-лы, 6 ил.

Description

Уровень техники
Разработчик программного обеспечения может непрерывно обновлять компьютерную программу на устройстве пользователя. Устройство пользователя может контактировать с сервером, администрируемым разработчиком программного обеспечения, чтобы видеть, доступны ли обновления. Если обновление доступно, устройство пользователя может скачивать новые разделы программного обеспечения и добавлять эти разделы к существующей программе, инсталлированной на данный момент на устройстве пользователя.
Сущность изобретения
Этот раздел ʺСущность изобретенияʺ обеспечивается для введения подборки концепций в упрощенной форме, которые дополнительно описываются ниже в разделе ʺПодробное описаниеʺ. Этот раздел ʺСущность изобретенияʺ не предназначен идентифицировать ключевые признаки или существенные признаки заявленного изобретения и не предназначен использоваться для ограничения объема заявленного изобретения.
Варианты осуществления, обсуждаемые ниже, относятся к аккуратному обновлению компьютерного приложения, не вызывая сбоя или перезагрузки системы или процесса. Процессор может исполнить версию компьютерного приложения. Процессор может инсталлировать последующую версию компьютерного приложения на уровне учетной записи пользователя. Процессор может исполнять последующую версию компьютерного приложения.
Краткое описание чертежей
Чтобы описать способ, которым могут быть получены упомянутые и другие преимущества и признаки, далее будет более подробно изложено конкретное описание, и оно будет представлено со ссылкой на конкретные варианты его осуществления, которые иллюстрируются прилагаемыми чертежами. Понимая, что эти чертежи изображают только типичные варианты осуществления изобретения и, следовательно, не должны рассматриваться как ограничивающие его объем, реализации будут описаны и объяснены с дополнительной специфичностью и подробностями, используя сопроводительные чертежи.
Фиг. 1 - иллюстративная блок-схема одного из вариантов осуществления компьютерной сети.
Фиг. 2 - иллюстративная блок-схема одного из вариантов осуществления компьютерного устройства.
Фиг. 3 - иллюстративная блок-схема последовательности исполнения операций одного из вариантов осуществления службы обновления.
Фиг. 4 - иллюстративная блок-схема одного из вариантов осуществления обновления компьютерного приложения.
Фиг. 5 - иллюстративная блок-схема одного из вариантов осуществления организации хранения данных.
Фиг. 6 - иллюстративная блок-схема последовательности осуществления операций одного из вариантов осуществления способа обновления компьютерного приложения.
Подробное описание
Ниже подробно обсуждаются варианты осуществления. Хотя обсуждаются конкретные реализации, следует понимать, что это делается в иллюстративных целях. Специалист в соответствующей области техники понимает, что могут использоваться и другие компоненты и конфигурации, не отступающие от сущности и объема настоящего раскрытия. Реализации могут представлять собой машинно-реализуемый способ, материальный машиночитаемый носитель, на котором имеется хранящийся на нем набор команд, воплощающий способ для по меньшей мере одного процессора, или средство обновления приложений для компьютерного устройства.
Компьютерное устройство может хранить учетную запись пользователя для каждого пользователя компьютерного устройства. Учетная запись пользователя может защищать определенные файлы данных от доступа со стороны других пользователей компьютерного устройства. Средство обновления приложений может обновлять компьютерное приложение на основе конкретного пользователя в дополнение к традиционному обновлению на основе конкретной машины. На основе конкретного пользователя компьютерное приложение может обновляться для учетной записи конкретного пользователя, но не для других учетных записей пользователя на машине. Учетная запись пользователя может поднять привилегии пользователя, учетной записи пользователя для воплощения инсталляции на уровне машины.
Каждый раз, когда работает средство обновления приложений, средство обновления приложений может извлекать обновление в новый каталог и место хранения данных, исключая, таким образом, любые проблемы используемых файлов, вызывающие перезагрузку машины. Дополнительно параллельно могут инсталлироваться различные версии компьютерного приложения, не взаимодействуя с другими версиями компьютерного приложения, ранее инсталлированными на машине, что позволяет незаметно обновлять компьютерное приложение, не вызывая проблем для гладкого функционирования компьютерного приложения. Средство обновления приложений может инсталлировать ту же самую версию или более новую версию компьютерного приложения как часть инсталляции, переинсталляции или восстановления компьютерного приложения, не пересекаясь с текущей версией. Если доступная версия является более старой версией, средство обновления приложений может исполнить нулевую операцию, чтобы предотвратить откатывания компьютерного приложения до более старой версии. Средство обновления приложений может инсталлировать многочисленные компьютерные приложения параллельно.
Таким образом, в одном из вариантов осуществления средство обновления приложений может аккуратно обновлять компьютерное приложение, не вызывая сбоя или перезагрузки системы или процесса. Процессор может исполнять предшествующую версию компьютерного приложения. Процессор может инсталлировать последующую версию компьютерного приложения на уровне учетной записи пользователя. Процессор может исполнять последующую версию компьютерного приложения.
На фиг. 1 представлена блок-схема одного из вариантов осуществления компьютерной сети 100. Устройство 110 пользователя может быть настольным компьютером, ноутбуком, планшетом, карманным компьютером или другим компьютерным устройством. Устройство 110 пользователя может исполнять компьютерное приложение 112. Компьютерное приложение 112 может быть любой программой программного обеспечения или программой микропрограммного обеспечения (firmware), исполняемой устройством 110 пользователя. Компьютерное приложение 112 может иметь версию, указывающую итерацию компьютерного приложения 112. Компьютерное приложение 112 может иметь модуль 114 средства обновления, который присоединяется к серверу 120 приложений через соединение 130 сети передачи данных. Соединение 130 сети передачи данных может быть соединением локальной сети, Интернет-соединением, соединением мобильной сети или другим сетевым соединением. Модуль 114 средства обновления может обратиться к серверу 120 приложений, чтобы увидеть, доступна ли новая версия компьютерного приложения 112. Предшествующая версия является версией компьютерного приложения 112, в настоящий момент исполняемого на устройстве пользователя. Последующая версия является новой версией компьютерного приложения 112. Модуль 114 средства обновления может скачать версию преемника, чтобы заменить ею предшествующую версию.
На фиг. 2 показана блок-схема примерного компьютерного устройства 200, которое может действовать в качестве средства обновления приложений. Компьютерное устройство 200 может объединять в себе одно или более из аппаратных средств, программного обеспечения, встроенного программного обеспечения и технологии ʺсистема на чипеʺ для реализации средства обновления приложений. Компьютерное устройство 200 может содержать шину 210, процессор 220, память 230, постоянную память (ROM) 240, запоминающее устройство 250, устройство 260 ввода, устройство 270 вывода и интерфейс 280 связи. Шина 210 может позволить осуществление связи между компонентами компьютерного устройства 200.
Процессор 220 может содержать по меньшей мере один традиционный процессор или микропроцессор, который интерпретирует и исполняет набор команд. Память 230 может быть оперативной памятью (RAM) или другим типом устройства динамической памяти, которое хранит информацию и команды для исполнения процессором 220. Память 230 может также хранить временные переменные или другую промежуточную информацию, используемую во время исполнения команд процессором 220. ROM 240 может содержать традиционное устройство ROM или другой тип статического запоминающего устройства, которое хранит статическую информацию и команды для процессора 220. Запоминающее устройство 250 может содержать любой тип физического, считываемого машиной носителя, такой как, например, магнитный или оптический носитель записи и его соответствующий привод. Физический, считываемый машиной носитель является физическим носителем, хранящим считываемый машиной код или команды, в отличие от передаваемого носителя или сигнала. Запоминающее устройство 250 может хранить набор команд, воплощающих способ, который, при его исполнении одним или более процессорами, предписывает одному или более процессорам исполнять способ.
Устройство 260 ввода может содержать один или более традиционных механизмов, позволяющих пользователю вводить информацию в компьютерное устройство 200, такие как клавиатура, мышь, устройство распознавания речи, микрофон, головная гарнитура и т. д. Устройство 270 вывода может содержать один или более традиционных механизмов, которые выводят информацию пользователю, такие как дисплей, принтер, один или более громкоговорителей, головная гарнитура или носитель, такой как память или магнитный или оптический диск и соответствующий дисковод. Интерфейс 280 связи может содержать любой, подобный приемопередатчику, механизм, позволяющий компьютерному устройству 200 осуществлять связь с другими устройствами или сетями. Интерфейс 280 связи может содержать сетевой интерфейс или интерфейс приемопередатчика. Интерфейс 280 связи может быть беспроводным, проводным или оптическим интерфейсом.
Компьютерное устройство 200 может исполнять такие функции в ответ на исполнения процессором 220 последовательностей команд, содержащихся на считываемом компьютером носителе, таком как, например, память 230, магнитный диск или оптический диск. Такие команды могут считываться в память 230 с другого считываемого компьютером носителя, такого как запоминающее устройство 250, или с отдельного устройства через интерфейс 280 связи.
На фиг. 3 показана логическая блок-схема одного из вариантов осуществления службы 300 обновления для компьютерного приложения 112. После инициирования текущая версия 302 компьютерного приложения 112 может предписывать модулю 114 средства обновления запросить любые обновления из сервера 120 приложений. Сервер 120 приложений может послать пакет обновления на модуль 114 средства обновления. Пакет обновления может иметь манифест 304 обновления и текущий двоичный код 306 компьютерного приложения 112. Манифест 304 обновления является списком устанавливаемых файлов. Манифест 304 обновления может описывать путь к файлу, размер файла, некие ключи системного реестра и некие механизмы проверки ошибок для каждого файла. Манифест 304 обновления может быть в формате расширяемого языка разметки (XML). Текущий двоичный код 306 является исполняемым файлом или связанным с ним файлом, таким как динамически подключаемая библиотека для компьютерного приложения 112. Модуль 114 средства обновления может использовать пакет обновления, чтобы создать модуль 308 установщика для установки.
На фиг. 4 представлена блок-схема одного из вариантов осуществления обновления 400 компьютерного приложения. Пакет 402 обновления, отправленный с сервера 120 приложений, может иметь код 404 инсталлятора, набор нейтральных ресурсов 406, набор локализуемых ресурсов 408 и полезную нагрузку 410. Код 404 установщика создает экземпляр модуля 308 инсталлятора на устройстве 110 пользователя. Набор нейтральных ресурсов 406 является набором общих ресурсов, используемых во время инсталляции, таких как значки, нелокализуемые строки и нелокализуемые изображения, которые показываются во время установки. Набор локализуемых ресурсов 408 является набором конкретных языковых ресурсов, используемых во время инсталляции, таких как сообщения, подсказки и звуки. Полезная нагрузка 410 может быть манифестом 304 обновления и текущим двоичным кодом 306.
На блок-схеме по фиг. 5 показан один из вариантов осуществления организации 500 хранения данных. Устройство 100 пользователя может поддерживать многочисленные учетные записи для множества пользователей. Учетная запись пользователя может быть защищена паролем от других пользователей. Устройство 250 хранения данных может хранить многочисленные профили приложений для многочисленных пользователей. Первый пользователь может обновить компьютерное приложение 112, в то время как второй пользователь может воздержаться от обновления. Администратор 502 может обновлять компьютерное приложение 112 для каждой учетной записи пользователя. Учетная запись 504 первичного пользователя является учетной записью пользователя, которая исполняет обновление компьютерного приложения. Учетная запись 506 вторичного пользователя является учетной записью пользователя, которая не исполняет активно обновление компьютерного приложения. Учетная запись вторичного пользователя 506 может быть активной или спящей.
Устройство 250 хранения данных может хранить предшествующую версию 508 компьютерного приложения 112 в месте 510 расположения предшествующей версии. Учетная запись 504 первичного пользователя может хранить имя 512 первичного файла в месте 514 хранения данных имени первичного файла, указывающее посредством ссылки на предшествующую версию 508. Имя файла является жестко связанным с файлом данных. Имя 512 первичного файла может быть жестко связано с предшествующей версией 508. Предшествующая версия 508 может быть неизменной, если не изменяется учетной записью 502 администратора. Учетная запись 504 первичного пользователя может инсталлировать последующую версию 516 пользователя компьютерного приложения 112 на уровне учетной записи пользователя. При инсталляции уровня учетной записи пользователя инсталлируют последующую версию 516 пользователя для учетной записи 504 первичного пользователя, но воздерживаются от любого обновления для учетной записи 506 вторичного пользователя. Учетная запись 504 первичного пользователя может помещать последующую версию 516 пользователя в свободное место 518 хранения данных последующей версии пользователя. Свободное место хранения данных в настоящий момент не имеет версии компьютерного приложения 112, хранящейся в этом месте. Место хранения данных может считаться свободным, даже если версия компьютерного приложения 112 присутствовала в этом месте хранения данных и затем обычным образом была стерта, как, например, через отмену регистрации. Последующая версия 516 пользователя может быть полной последующей версией компьютерного приложения 112. Полная последующая версия является последующей версией, которая не была сравнена с предшествующей версией и не имела каких-либо удаленных перекрывающихся разделов. Имя 512 первичного файла может быть перезаписано, чтобы быть жестко связанным с последующей версией 516.
Учетная запись 506 вторичного пользователя может хранить имя 520 вторичного файла компьютерного приложения 112 в месте 522 хранения имени вторичного файла. Имя 520 вторичного файла может быть жестко связано с предшествующей версией 508. Имя 520 вторичного файла может сохранять жесткую связь с предшествующей версией 508, даже когда имя 512 первичного файла становится жестко связанным с последующей версией 516 пользователя.
Учетная запись 502 администратора может заменить предшествующую версию 508 последующей версией 524 администратора компьютерного приложения 112 на уровне машины. Учетная запись 502 администратора может поместить последующую версию 524 администратора в свободном месте 524 хранения данных последующей версии администратора. Операционная система может поднять статус пользователя для учетной записи пользователя до административных привилегий выполнять обновления на уровне машины. Обновления на уровне машины инсталлируют последующую версию для каждой учетной записи пользователя на устройстве 110 пользователя. Учетная запись 502 администратора может переустанавливать имя 512 первичного файла и имя 520 вторичного файла, чтобы они имели жесткую связь с последующей версией 524 администратора.
На фиг. 6 показана блок-схема последовательности выполнения операций одного из вариантов осуществления способа 600 обновления компьютерного приложения 112. Средство обновления приложений может исполнять предшествующую версию 508 компьютерного приложения 112 (этап 602). Средство обновления приложений может исполнять модуль 114 средства обновления незаметно для пользователя (этап 604). Средство обновления приложений может скачать полную последующую версию 516 с использованием модуля 114 средства обновления независимо от предшествующей версии 508 (этап 606). Если инсталляция проводится на основе машины (этап 608), средство обновления приложений может поднять статус пользователя до привилегий администратора (этап 610). Средство обновления приложений может инсталлировать полную последующую версию 524 компьютерного приложения 112 на уровне машины (этап 612). Если инсталляция ведется на основе пользователя (этап 608), средство обновления приложений может инсталлировать полную последующую версию 516 компьютерного приложения на уровне учетной записи пользователя (этап 614). Средство обновления приложений может поддерживать исполнение предшествующей версии 508, в то время как происходит инсталляция полной последующей версии 516 (этап 616). Средство обновления приложений может поместить полную последующую версию 516 в чистое место 514 хранения данных последующей версии (этап 618). Блок обновления приложений может исполнять предшествующую версию 508 и полную последующую версию 516 компьютерного приложения 112 одновременно (этап 620). Средство обновления приложений может выполнять переключение с предшествующей версии 508 на полную последующую версию 516 (этап 622). Средство обновления приложений может поддерживать представление пользовательского интерфейса компьютерного приложения 112 во время этого переключения (этап 624). Средство обновления приложений может планировать предшествующую версию 508 для операции деинсталляции (этап 626). Если операция деинсталляции планируется во время перезагрузки системы (этап 628), средство обновления приложений может деинсталлировать предшествующую версию 508 во время перезагрузки системы (этап 630). В противном случае средство обновления приложений может деинсталлировать предшествующую версию 508 во время исполнения полной последующей версии 516 (этап 632).
Хотя изобретение было описано на языке, специфическом для структурных признаков и/или методологических действий, следует понимать, что объем изобретения, определяемый приложенной формулой изобретения, не обязательно ограничивается описанными выше конкретными признаками или действиями. Скорее конкретные признаки и действия, описанные выше, раскрываются как примерные формы реализации формулы изобретения.
Варианты осуществления в рамках объема настоящего изобретения могут также содержать невременный, считываемый компьютером носитель для переноса или содержания исполняемых компьютером команд или структур данных, хранящихся на нем. Такой невременный, считываемый компьютером носитель может быть любым доступным носителем, к которому можно осуществить доступ посредством универсального или специализированного компьютера. Для примера и не для создания ограничений такой невременный, считываемый компьютером носитель может содержать RAM, ROM, EEPROM, CD-ROM или другое запоминающее устройство на оптическом диске, запоминающее устройство на магнитных дисках или другие магнитные запоминающие устройства или любой другой носитель, который может использоваться для передачи или хранения требующихся средств программного кода в форме исполняемых компьютером команд или структур данных. Комбинации вышесказанного должны также охватываться понятием ʺневременный, считываемый компьютером носительʺ.
Варианты осуществления могут также быть реализованы на практике в распределенных компьютерных средах, где задачи выполняются локальными и удаленными устройствами обработки данных, которые связаны (проводимыми линиями связи, беспроводными линиями связи или их комбинацией) через систему связи.
Исполняемые компьютером команды содержат, например, команды и данные, которые предписывают универсальному компьютеру, специализированному компьютеру или специализированному устройству обработки данных выполнять определенную функцию или группу функций. Исполняемые компьютером команды также содержат программные модули, которые исполняются компьютерами автономно или в сетевых средах. Обычно программные модули содержат подпрограммы, программы, объекты, компоненты и структуры данных и т. д., которые выполняют конкретные задачи или реализуют частные абстрактные типы данных. Исполняемые компьютером команды, связанные с ними структуры данных и программные модули представляют примеры средств программного кода для выполнения этапов раскрытых здесь способов. Конкретная последовательность таких исполняемых команд или связанных с ними структур данных представляет примеры соответствующих действий для реализации функций, описанных для таких этапов.
Хотя приведенное выше описание может содержать конкретные подробности, они не должны рассматриваться как ограничивающие каким-либо образом формулу изобретения. Другие конфигурации описанных вариантов осуществления являются частью объема раскрытия. Например, принципы раскрытия могут применяться к каждому индивидуальному пользователю, где каждый пользователь может индивидуально развернуть такую систему. Это позволяет каждому пользователю использовать выгоды раскрытия, даже если любое из большого количества возможных приложений не использует описанные здесь функциональные возможности. Во множестве случаев каждое из электронных устройств может обрабатывать контент различными возможными способами. Реализации не обязательно используются в одной системе, используемой всеми конечными пользователями. Соответственно прилагаемая формула изобретения и ее юридические эквиваленты должны определять только изобретение, а не какие-либо представленные конкретные примеры.

Claims (31)

1. Машинореализуемый способ обновления компьютерного приложения, содержащий этапы, на которых:
исполняют предшествующую версию компьютерного приложения в учетной записи первичного пользователя на компьютерном устройстве;
инсталлируют последующую версию компьютерного приложения для учетной записи первичного пользователя; и
исполняют последующую версию компьютерного приложения в учетной записи первичного пользователя, в то время как учетная запись вторичного пользователя на компьютерном устройстве имеет предшествующую версию компьютерного приложения.
2. Способ по п. 1, дополнительно содержащий этап, на котором скачивают полную последующую версию с использованием модуля средства обновления.
3. Способ по п. 2, дополнительно содержащий этап, на котором исполняют модуль средства обновления незаметно для пользователя.
4. Способ по п. 1, дополнительно содержащий этап, на котором помещают последующую версию в свободное место хранения данных последующей версии.
5. Способ по п. 1, дополнительно содержащий этап, на котором поддерживают исполнение предшествующей версии во время инсталляции последующей версии.
6. Способ по п. 1, дополнительно содержащий этап, на котором выполняют переключение с предшествующей версии на последующую версию.
7. Способ по п. 6, дополнительно содержащий этап, на котором поддерживают представление пользовательского интерфейса компьютерного приложения во время упомянутого переключения.
8. Способ по п. 1, дополнительно содержащий этап, на котором исполняют предшествующую версию и последующую версию одновременно.
9. Способ по п. 1, дополнительно содержащий этап, на котором деинсталлируют предшествующую версию во время исполнения последующей версии.
10. Физический машиночитаемый носитель, на котором сохранен набор команд, воплощающий способ обновления компьютерного приложения, которые при их исполнении одним или более процессорами предписывают одному или более процессорам выполнять данный способ, содержащий этапы, на которых:
исполняют предшествующую версию компьютерного приложения, на которую указывает имя первичного файла учетной записи первичного пользователя на компьютерном устройстве;
скачивают полную последующую версию с использованием модуля средства обновления независимо от предшествующей версии;
инсталлируют полную последующую версию компьютерного приложения в свободное место хранения данных последующей версии, с указанием имени первичного файла на полную последующую версию компьютерного приложения.
11. Машиночитаемый носитель по п. 10, в котором способ дополнительно содержит этап, на котором инсталлируют полную последующую версию компьютерного приложения на уровне машины.
12. Машиночитаемый носитель по п. 11, в котором способ дополнительно содержит этап, на котором поднимают статус пользователя до административных привилегий.
13. Машиночитаемый носитель по п. 10, в котором способ дополнительно содержит этап, на котором инсталлируют полную последующую версию компьютерного приложения на уровне учетной записи пользователя.
14. Машиночитаемый носитель по п. 10, в котором способ дополнительно содержит этап, на котором исполняют модуль средства обновления незаметно для пользователя.
15. Машиночитаемый носитель по п. 10, в котором способ дополнительно содержит этап, на котором переустанавливают имя первичного файла так, чтобы оно имело жесткую связь с последующей версией администратора.
16. Машиночитаемый носитель по п. 10, в котором способ дополнительно содержит этапы, на которых:
выполняют переключение с предшествующей версии на полную последующую версию; и
поддерживают представление пользовательского интерфейса компьютерного приложения во время данного переключения.
17. Машиночитаемый носитель по п. 10, в котором способ дополнительно содержит этап, на котором исполняют предшествующую версию и полную последующую версию одновременно.
18. Машиночитаемый носитель по п. 10, в котором способ дополнительно содержит этап, на котором планируют предшествующую версию для операции деинсталляции во время перезагрузки системы.
19. Средство обновления приложений, содержащее:
интерфейс связи, который скачивает полную последующую версию компьютерного приложения;
устройство хранения данных, которое хранит предшествующую версию компьютерного приложения в месте хранения данных предшествующей версии и полную последующую версию в свободном месте хранения данных последующей версии; и
процессор, который исполняет предшествующую версию компьютерного приложения и инсталлирует полную последующую версию компьютерного приложения в учетной записи первичного пользователя, в то время как учетная запись вторичного пользователя имеет предшествующую версию компьютерного приложения.
20. Средство обновления приложений по п. 19, в котором процессор поддерживает исполнение предшествующей версии во время инсталляции полной последующей версии.
RU2014128842A 2012-01-15 2013-01-07 Механизм инсталляции и формат пакета для распараллеливаемых надежных инсталляций RU2635891C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/350,810 2012-01-15
US13/350,810 US8893116B2 (en) 2012-01-15 2012-01-15 Installation engine and package format for parallelizable, reliable installations
PCT/US2013/020519 WO2013106276A1 (en) 2012-01-15 2013-01-07 Installation engine and package format for parallelizable, reliable installations

Publications (2)

Publication Number Publication Date
RU2014128842A RU2014128842A (ru) 2016-02-10
RU2635891C2 true RU2635891C2 (ru) 2017-11-16

Family

ID=48780903

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2014128842A RU2635891C2 (ru) 2012-01-15 2013-01-07 Механизм инсталляции и формат пакета для распараллеливаемых надежных инсталляций

Country Status (11)

Country Link
US (2) US8893116B2 (ru)
EP (1) EP2805233B1 (ru)
JP (1) JP6198229B2 (ru)
KR (1) KR102052776B1 (ru)
CN (1) CN104040495A (ru)
AU (1) AU2013208296B2 (ru)
BR (1) BR112014017283B1 (ru)
CA (1) CA2860657C (ru)
MX (1) MX337871B (ru)
RU (1) RU2635891C2 (ru)
WO (1) WO2013106276A1 (ru)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2508599A (en) * 2012-12-04 2014-06-11 Ibm Software version management when downgrading software
US9639342B2 (en) * 2013-05-01 2017-05-02 Starkey Laboratories, Inc. Unobtrusive firmware updates for hearing assistance devices
CN103442077A (zh) * 2013-09-04 2013-12-11 珠海金山网络游戏科技有限公司 一种软件客户端通过网络进行更新的方法及***
CN108733517A (zh) * 2018-06-05 2018-11-02 深圳忆联信息***有限公司 Ssd固件升级保护方法及装置
CN109933465B (zh) * 2019-03-12 2021-12-10 北京同城必应科技有限公司 异常处理方法、装置、服务器和存储介质
CN111769966B (zh) * 2020-05-08 2023-06-23 厦门亿联网络技术股份有限公司 一种克隆升级方法、***和应用
WO2024010177A1 (ko) * 2022-07-04 2024-01-11 삼성전자 주식회사 보안 회로의 애플릿을 갱신하기 위한 전자 장치 및 그의 동작 방법

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143830A1 (en) * 2003-01-17 2004-07-22 Gupton Kyle P. Creation of application system installer
US20060086785A1 (en) * 2004-10-21 2006-04-27 Kabushiki Kaisha Toshiba Portable electronic apparatus and method of updating application in portable electronic apparatus
RU2372644C2 (ru) * 2003-12-15 2009-11-10 Майкрософт Корпорейшн Система и способ для обновления инсталляционных компонентов в сетевой среде
US20100242037A1 (en) * 2009-03-17 2010-09-23 Microsoft Corporation Software Deployment over a Network
RU2412474C2 (ru) * 2005-03-08 2011-02-20 Майкрософт Корпорейшн Способ и система для создания, хранения, управления и потребления специфичных культуре данных
RU2424552C2 (ru) * 2005-05-31 2011-07-20 Майкрософт Корпорейшн Расщепленная загрузка для электронных загрузок программного обеспечения

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5835911A (en) * 1994-02-08 1998-11-10 Fujitsu Limited Software distribution and maintenance system and method
JPH0954734A (ja) * 1995-08-17 1997-02-25 Fujitsu Ltd ネットワークを活用したソフトウェア流通・保守システムおよび方法
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US5966715A (en) * 1995-12-29 1999-10-12 Csg Systems, Inc. Application and database security and integrity system and method
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
GB9623298D0 (en) 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
JPH1145179A (ja) * 1997-07-25 1999-02-16 Digital Vision Lab:Kk プログラム管理方法
US6141683A (en) * 1998-01-30 2000-10-31 Lucent Technologies, Inc. Method for remotely and reliably updating of the software on a computer with provision for roll back
US6463352B1 (en) * 1999-01-21 2002-10-08 Amada Cutting Technologies, Inc. System for management of cutting machines
US6385623B1 (en) * 1999-11-12 2002-05-07 Dell Usa, L.P. System and method for ensuring proper execution of scheduled file updates
US7287259B2 (en) * 2000-04-24 2007-10-23 Microsoft Corporation Isolating assembly versions for binding to application programs
US6711557B1 (en) * 2000-08-14 2004-03-23 Adobe Systems Incorporated Client-based background update monitoring
US20040003266A1 (en) 2000-09-22 2004-01-01 Patchlink Corporation Non-invasive automatic offsite patch fingerprinting and updating system and method
US20040133606A1 (en) * 2003-01-02 2004-07-08 Z-Force Communications, Inc. Directory aggregation for files distributed over a plurality of servers in a switched file system
TW518513B (en) * 2001-03-28 2003-01-21 Synq Technology Inc System and method to update an executing application software by modular way
US7100158B2 (en) * 2002-04-30 2006-08-29 Toshiba Tec Kabushiki Kaisha Program management apparatus, program management system, and program management method
US20040010786A1 (en) * 2002-07-11 2004-01-15 Microsoft Corporation System and method for automatically upgrading a software application
US7784044B2 (en) * 2002-12-02 2010-08-24 Microsoft Corporation Patching of in-use functions on a running computer system
US20080177994A1 (en) * 2003-01-12 2008-07-24 Yaron Mayer System and method for improving the efficiency, comfort, and/or reliability in Operating Systems, such as for example Windows
US7089548B2 (en) * 2003-01-13 2006-08-08 Taiwan Semiconductor Manufacturing Company, Ltd. Method and system for nondisruptive deployment during upgrading of enterprise systems
JP2005301500A (ja) * 2004-04-08 2005-10-27 Fujitsu Ltd 情報処理装置
US7664834B2 (en) * 2004-07-09 2010-02-16 Maxsp Corporation Distributed operating system management
US20060075001A1 (en) * 2004-09-30 2006-04-06 Canning Jeffrey C System, method and program to distribute program updates
US20110197114A1 (en) * 2004-12-08 2011-08-11 John Martin Electronic message response and remediation system and method
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
JP2006268752A (ja) * 2005-03-25 2006-10-05 Seiko Epson Corp 複数のバージョンに対応したモジュールの起動
US7516422B2 (en) * 2005-07-21 2009-04-07 International Business Machines Corporation Graphical display of hierarchical hardlinks to files in a file system
SE529676C2 (sv) * 2006-03-02 2007-10-23 Abb Ab En metod för att utvärdera en applikation, ett automationssystem och en styrenhet
US8726267B2 (en) * 2006-03-24 2014-05-13 Red Hat, Inc. Sharing software certification and process metadata
JP4946141B2 (ja) * 2006-04-11 2012-06-06 ブラザー工業株式会社 構成変更プログラム、および情報処理装置
US8769522B2 (en) * 2006-08-21 2014-07-01 Citrix Systems, Inc. Systems and methods of installing an application without rebooting
US20080301660A1 (en) * 2007-05-30 2008-12-04 Google Inc. Maintaining Multiple Versions of a Software Application on a Device
US20090193409A1 (en) * 2008-01-24 2009-07-30 Microsoft Corporation Per User Updates
US20090259999A1 (en) * 2008-04-11 2009-10-15 Oracle International Corporation Method and system for applying a patch during application execution
US20090319740A1 (en) * 2008-06-18 2009-12-24 Fujitsu Limited Virtual computer system, information processing device providing virtual computer system, and program thereof
US8561087B2 (en) * 2008-07-16 2013-10-15 Sandisk Il Ltd. Methods for enabling software in storage-capable devices
US20100058321A1 (en) * 2008-09-04 2010-03-04 Anderson Greg L Approach for deploying software to network devices
JP2010198383A (ja) * 2009-02-25 2010-09-09 Fujitsu Ltd ストレージ装置、ソフトウェア更新方法およびソフトウェア更新プログラム
CN102349052A (zh) * 2009-03-30 2012-02-08 日本电气株式会社 服务提供装置、服务提供***、用于处理服务提供装置中的数据的方法以及计算机程序
EP2438527B1 (en) * 2009-06-04 2018-05-02 Abbott Diabetes Care, Inc. Method and system for updating a medical device
US20110289499A1 (en) * 2010-05-19 2011-11-24 Microsoft Corporation Techniques to automatically update software applications
CN102299940A (zh) * 2010-06-25 2011-12-28 龚华清 一种不间断网络服务的软件升级方法
US20120137278A1 (en) * 2010-11-30 2012-05-31 International Business Machines Corporation Generating a customized set of tasks for migration of a deployed software solution
US8726103B2 (en) 2010-12-07 2014-05-13 At & T Intellectual Property I, Lp Visual outage management tool
US9733921B1 (en) * 2014-01-23 2017-08-15 NetSuite Inc. System and methods for management of cloud application extensions

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040143830A1 (en) * 2003-01-17 2004-07-22 Gupton Kyle P. Creation of application system installer
RU2372644C2 (ru) * 2003-12-15 2009-11-10 Майкрософт Корпорейшн Система и способ для обновления инсталляционных компонентов в сетевой среде
US20060086785A1 (en) * 2004-10-21 2006-04-27 Kabushiki Kaisha Toshiba Portable electronic apparatus and method of updating application in portable electronic apparatus
RU2412474C2 (ru) * 2005-03-08 2011-02-20 Майкрософт Корпорейшн Способ и система для создания, хранения, управления и потребления специфичных культуре данных
RU2424552C2 (ru) * 2005-05-31 2011-07-20 Майкрософт Корпорейшн Расщепленная загрузка для электронных загрузок программного обеспечения
US20100242037A1 (en) * 2009-03-17 2010-09-23 Microsoft Corporation Software Deployment over a Network

Also Published As

Publication number Publication date
KR102052776B1 (ko) 2019-12-05
EP2805233B1 (en) 2022-11-16
EP2805233A4 (en) 2015-08-26
KR20140113685A (ko) 2014-09-24
CA2860657A1 (en) 2013-07-18
US8893116B2 (en) 2014-11-18
CA2860657C (en) 2020-10-13
BR112014017283A2 (pt) 2017-06-13
WO2013106276A1 (en) 2013-07-18
BR112014017283B1 (pt) 2021-08-17
JP6198229B2 (ja) 2017-09-20
MX2014008561A (es) 2014-09-26
US20150067668A1 (en) 2015-03-05
EP2805233A1 (en) 2014-11-26
MX337871B (es) 2016-03-22
JP2015503812A (ja) 2015-02-02
CN104040495A (zh) 2014-09-10
AU2013208296A1 (en) 2014-07-31
BR112014017283A8 (pt) 2017-12-12
AU2013208296B2 (en) 2018-03-15
US20130185709A1 (en) 2013-07-18
RU2014128842A (ru) 2016-02-10

Similar Documents

Publication Publication Date Title
RU2635891C2 (ru) Механизм инсталляции и формат пакета для распараллеливаемых надежных инсталляций
US10938954B2 (en) Method and system for mobile applications update in the cloud
US9727327B1 (en) Software distribution framework
KR101963912B1 (ko) 라이브러리 운영체제들과의 애플리케이션 호환성을 가능하게 하는 기법
US8185884B2 (en) System and method for offline updation of software in virtual machine (VM) images
US8387032B1 (en) Captive runtime deployment
KR20140026314A (ko) 업데이트된 에이전트의 핫 롤백
US20160139917A1 (en) Incremental source code analysis
KR20150022849A (ko) 핸드세이크를 이용한 클라이언트 인터페이스 실행 중의 자동 업데이트 기법
US9141385B2 (en) Managing operating system components
US8683458B2 (en) Automatic full install upgrade of a network appliance
US9841982B2 (en) Locating import class files at alternate locations than specified in classpath information
US9304780B2 (en) User initiated data rollback using operating system partitions
CN116069366A (zh) 客户端应用程序更新方法及装置、存储介质及电子设备
US20150212866A1 (en) Management system for service of multiple operating environments, and methods thereof
US11314500B2 (en) System and method for modularizing update environment in life cycle manager
US20170293504A1 (en) Dynamically provisioning, managing, and executing tasks
US10185574B2 (en) Live imaging of a device
TW201324349A (zh) 以函式庫作業系統達成之應用程式相容性
Seifzadeh et al. A Performance-based Approach to Automatic Redeployment of Enterprise Software Applications