Как зарегистрировать приложение в windows 7
В этом разделе описывается, как приложения могут предоставлять сведения о себе, необходимые для реализации определенных сценариев. Сюда входят сведения, необходимые для размещения приложения, команды, поддерживаемые приложением, а также типы файлов, которые может выполнять приложение.
Этот раздел организован следующим образом:
Приложения также можно зарегистрировать в окне Настройка доступа к программам и параметров по умолчанию (SPAD) и задать приложения панели управления программы по умолчанию (SYDP). Сведения о регистрации приложений в SPAD и SYDP см. в разделе рекомендации по сопоставлению файлов и программам по умолчанию, настройке доступа к программам и по умолчанию для компьютеров (SPAD).
Поиск исполняемого файла приложения
При вызове функции ShellExecuteEx с именем исполняемого файла в его параметре лпфиле существует несколько мест, где функция ищет файл. Мы рекомендуем зарегистрировать приложение в подразделе реестра app paths . Это позволяет избежать необходимости изменять переменную среды системного пути в приложениях.
Файл ищется в следующих расположениях:
- текущий рабочий каталог.
- Windows только каталог (подкаталоги не ищутся).
- каталог Windows \ System32 .
- Каталоги, перечисленные в переменной среды PATH.
- рекомендуется: HKEY по _ локального _ компьютера \ программное обеспечение \ Microsoft \ Windows \ CurrentVersion \ пути к приложению
Подразделы реестра " пути приложений " и " приложения " используются для регистрации и управления поведением системы от имени приложений. Подраздел app paths является предпочтительным расположением.
Использование подраздела путей к приложению
Записи, найденные в разделе пути к приложениям , используются в основном для следующих целей:
- Для преобразования имени исполняемого файла приложения в полный путь к этому файлу.
- Значение, чтобы предварительно доложить данные в переменную среды PATH для каждого приложения, отдельно для каждого процесса.
Если имя подраздела путей к приложению совпадает с именем файла, оболочка выполняет два действия:
- Запись (по умолчанию) используется в качестве полного пути к файлу.
- Запись пути для этого подраздела предваряется переменной среды PATH этого процесса. Если это не требуется, можно опустить значение пути.
Возможны следующие проблемы, которые следует учитывать:
- Оболочка ограничивает длину командной строки МАКСИМАЛЬным числом символов, равным _ * 2. Если имеется много файлов, перечисленных в качестве записей реестра, или их пути слишком длинные, имена файлов, приведенные ниже в списке, могут быть потеряны, так как Командная строка усекается.
- Некоторые приложения не принимают несколько имен файлов в командной строке.
- Некоторые приложения, принимающие несколько имен файлов, не распознают формат, в котором они предоставляются оболочкой. Оболочка предоставляет список параметров в виде строки в кавычках, но некоторым приложениям могут потребоваться строки без кавычек.
- Не все элементы, которые можно перетаскивать, являются частью файловой системы; Например, «принтеры». Эти элементы не имеют стандартного пути Win32, поэтому нет способа предоставить осмысленное значение лппараметерс для ShellExecuteEx.
Использование записи Дроптаржет позволяет избежать этих потенциальных проблем, предоставляя доступ ко всем форматам буфера обмена, включая кфстр _ шеллидлист (для длинных списков файлов) и кфстр _ филеконтентс (для объектов, не являющихся объектами файловой системы).
Для регистрации и управления поведением приложений с помощью подраздела путей приложений:
Добавьте подраздел с тем же именем, что и у исполняемого файла, в подраздел пути к приложению , как показано в следующей записи реестра.
Сведения о записях подраздела пути приложения см. в следующей таблице.
[!Note]
Помимо записей (по умолчанию), пути и Дроптаржет, распознаваемых оболочкой, приложение может также добавлять пользовательские значения в подраздел пути приложения в исполняемом файле. Мы рекомендуем разработчикам приложений использовать подраздел пути к приложению , чтобы указать специфический для приложения путь вместо добавления к глобальному системному пути.
Использование подраздела приложений
С помощью записей реестра, перечисленных в разделе _ _ корневые приложения для классов hKey \ \ ApplicationName.exe , приложения могут предоставлять сведения, относящиеся к приложению, приведенные в следующей таблице.
Запись реестра | Описание |
---|---|
\команда оболочки | Предоставляет метод Verb для вызова приложения из Опенвис. Если определение глагола не указано, система предполагает, что приложение поддерживает CreateProcess, и передает имя файла в командной строке. эта функция применяется ко всем методам команд, включая дроптаржет, ExecuteCommand и платформа динамических данных Exchange (DDE). |
дефаултикон | Позволяет приложению указать конкретный значок для представления приложения вместо первого значка, хранящегося в файле .exe. |
фриендляппнаме | Предоставляет способ получения локализуемого имени, отображаемого для приложения, а не только сведений о версии, которые могут быть не подлежат локализации. Ассокстр запроса на сопоставление считывает это значение записи реестра и возвращается к использованию имени филедескриптион в сведениях о версии. Если это имя отсутствует, запрос ассоциации по умолчанию имеет отображаемое имя файла. Приложения должны использовать ассокстр _ фриендляппнаме для получения этих сведений, чтобы получить правильное поведение. |
суппортедтипес | Список типов файлов, поддерживаемых приложением. Это позволит включить приложение в список каскадного меню диалогового окна Открыть с помощью . |
нупенвис | Указывает, что для открытия этого типа файлов не указано ни одно приложение. Имейте в виду, что если подключ Опенвиспрогидс был задан для приложения по типу файла, а сам подраздел ProgID не имеет записи Нупенвис, это приложение появится в списке рекомендуемых или доступных приложений, даже если в нем указана запись Нупенвис. Дополнительные сведения см. в разделе как включить приложение в диалоговое окно "Открыть с помощью " и как исключить приложение из диалогового окна "Открыть с помощью". |
ишостапп | Указывает, что процесс является ведущим процессом, например Rundll32.exe или Dllhost.exe, и не должен учитываться при закреплении в меню запуска или включении в список наиболее часто используемых (часто используемые). При запуске с ярлыком, содержащим список аргументов, не равный null, или явные идентификаторы модели пользователя приложения (аппусермоделидс), процесс можно закрепить (как это сочетание клавиш). Такие сочетания клавиш являются кандидатами для включения в список наиболее часто используемых. |
OnStartPage | Указывает, что исполняемый файл и ярлыки приложения следует исключить из меню Пуск , а также закреплять или включать в список наиболее часто используемых программ. Эта запись обычно используется для исключения системных средств, установщиков и программ-установщиков и файлов readme. |
усиксекутаблефортаскбарграупикон | Заставляет панель задач использовать значок этого исполняемого файла по умолчанию, если для этого приложения нет ярлыка также прикрепляемые, а вместо значка окна, которое было впервые обнаружено. |
таскбарграупикон | Задает значок, используемый для переопределения значка панели задач. Обычно для панели задач используется значок окна. Установка записи Таскбарграупикон приводит к тому, что система использует значок из .exe приложения. |
Примеры
Ниже приведены некоторые примеры регистраций приложений с помощью _ _ корневых \ приложений \ ApplicationName.exe подраздел "классы hKey". Все значения записей реестра имеют тип reg _ SZ , за исключением дефаултикон , который имеет тип _ раскрытия reg Expand _ SZ .
В следующем примере реестра показано, что происходит, когда пользователь запускает элемент программы по умолчанию на панели управления, чтобы изменить значение по умолчанию для .mp3 файлов на App2ProgID. После изменения значения по умолчанию Verb1 больше не доступно, а Verb2 становится значением по умолчанию.
Значения реестра для наблюдаемых типов определяются как подразделы подраздела реестра hKey _ _ root \ системфилеассоЦиатионс . Например, текст распознанного типа регистрируется следующим образом:
. when altering one's mind becomes as easy as programming a computer, what does it mean to be human.
четверг, 23 сентября 2010 г.
Поиск исполняемого файла приложения
Когда функция ShellExecuteEx вызывается с именем исполняемого файла в своём параметре lpFile, то она будет искать этот файл в нескольких местах. Мы рекомендуем вам зарегистрировать своё приложение в ключе реестра App Paths, чтобы вам не пришлось модифицировать переменную окружения PATH.
- Текущий каталог.
- Каталог Windows (без подкаталогов).
- Каталог Windows\System32.
- Каталоги, указанные в переменной окружения PATH.
- (Рекомендуется) HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths (подключ реестра App Paths).
Оба ключа реестра App Paths и Applications используются для регистрации и контроля поведения системы от имени приложений. Ключ App Paths является предпочтительным местом регистрации на компьютерах с Windows XP Service Pack 1 (SP1) и выше.
Использование подключа реестра App Paths
- Чтобы указать соответствие между именем исполняемого файла приложения и полным путём к приложению.
- Чтобы добавлять информацию к переменной окружения PATH индивидуально для приложения и процесса.
- Запись (Default) используется как полное имя файла.
- Запись Path этого ключа добавляется к переменной окружения PATH этого процесса. Если это не требуется, то значение Path можно не задавать.
- Оболочка ограничивает длину командной строки до MAX_PATH * 2 символов. Если в ключе реестра задано несколько файлов или их имена очень велики, то имена в конце списка могут быть потеряны, потому что командная строка будет усечена.
- Некоторые приложения не принимают несколько имён файлов в командной строке.
- Некоторые приложения, которые принимают несколько файлов, не распознают формат, в котором Оболочка передаёт их имена. Оболочка передаёт список параметров как строку с кавычками, но некоторые приложения ожидают строку без кавычек.
- Не все элементы, которые таскаются мышью, являются частью файловой системы. Например - принтеры. У таких элементов нет обычного пути Win32, поэтому нельзя предоставить разумное значение параметра lpParameters функции ShellExecuteEx.
- Добавить подключ к App Paths, имя которого будет совпадать с именем вашего исполняемого файла, как показано в примере:
- См. таблицу ниже для информации по записям в ключе App Paths:
Использование подключа реестра Applications
С помощью включения записей реестра под ключом HKEY_CLASSES_ROOT\Applications\ApplicationName.exe приложения могут предоставлять такую специфичную для приложения информацию:
Примеры
Вот некоторые примеры регистрации приложений через ключ реестра HKEY_CLASSES_ROOTApplicationsApplicationName.exe. Все записи имеют тип REG_SZ, за исключением DefaultIcon, который имеет тип REG_EXPAND_SZ.
Следующий пример показывает, что происходит, когда пользователь запускает апплет Программы по-умолчанию в Панели управления, чтобы изменить программу для открытия файлов .mp3 на App2ProgID. После изменения умолчания действие Verb1 больше не доступно, а действие Verb2 становится действием по-умолчанию.
Варианты решения проблемы
Имеется несколько методов, позволяющих устранить данную проблему. Рассмотрим каждый из них подробнее.
Способ 1: OCX/DLL Manager
OCX/DLL Manager – это маленькая программа которая может помочь зарегистрировать библиотеку или файл OCX.
OCX/DLL Manager также умеет отменять регистрацию библиотеки, для этого понадобится выбрать в меню пункт «Unregister OCX/DLL» и в последствии проделать все те же операции, как и в первом случае. Функция отмены может вам понадобиться для сравнения результатов при активированном файле и при отключенном, а также в процессе удаления некоторых компьютерных вирусов.
В процессе регистрации, система может выдать вам ошибку, говорящую о том, что требуются права администратора. В таком случае, нужно запустить программу нажав на неё правой кнопкой мыши, и выбрать «Запуск от имени администратора».
Способ 2: Меню «Выполнить»
Можно зарегистрировать DLL, используя команду «Выполнить» в стартовом меню операционной системы Windows. Для этого нужно будет произвести следующие действия:
- Нажать клавиатурную комбинацию «Windows + R» или выбрать пункт «Выполнить» из меню «Пуск».
Этот пример подойдёт вам в том случае, если операционная система установлена на диск С. Если она находится в другом месте, то нужно будет поменять букву диска или воспользоваться командой:
В таком варианте программа сама находит папку где у вас установлена ОС и запускает регистрацию указанного DLL файла.
В случае с 64-разрядной системой у вас будет две программы regsvr32 — одна находится в папке:
и вторая по пути:
Это разные файлы, которые используются раздельно для соответствующих ситуаций. Если у вас 64-битная ОС, а файл DLL 32-битный, тогда сам файл библиотеки должен быть помещен в папку:
и команда будет выглядеть уже так:
Способ 3: Командная строка
- Выберите команду «Выполнить» в меню «Пуск».
- Впишите в открывшемся поле для ввода cmd.
- Нажмите «Enter».
Перед вами появится окно, в котором нужно будет вводить те же команды, что и во втором варианте.
Надо отметить, что у окна командной строки имеется функция вставки скопированного текста (для удобства). Найти это меню можно, нажав правой кнопкой на пиктограмме в левом верхнем углу.
Способ 4: Открыть с помощью
- Откройте меню файла, который будете регистрировать, нажав по нему правой кнопкой мыши.
- Выберите «Открыть с помощью» в появившемся меню.
или в случае, если вы работаете в 64-битной системе, а файл DLL 32-разрядный:
Возможные ошибки
«Файл не совместим с установленной версией Windows» — это означает, что вы, скорее всего, пытаетесь зарегистрировать 64-разрядную DLL в 32-битной системе или наоборот. Воспользуйтесь соответствующей командой, описанной во втором способе.
В заключение нужно сказать, что суть всех предложенных вариантов одна и та же — это просто разные методы запуска команды регистрации — кому как удобнее.
Отблагодарите автора, поделитесь статьей в социальных сетях.
О. Реестр Windows 64-bit имеет два независимых раздела, в одном из которых содержатся данные, относящиеся к 32-битным компонентам системы, а в другом - к 64-битным компонентам. Ключи и ветви обоих разделов имеют практически одинаковые наименования и обозначения. Редактора реестра, запускаемый по умолчанию, работает только с 64-битным разделом реестра.
Для того чтобы запустить на компьютере, работающем под управлением 64-битной версии Windows, 32-битную версию редактора реестра, необходимо закрыть окно 64-разрядной версии редактора, если эта программа была запущена ранее, поскольку оба этих приложения не могут работать одновременно, затем нажать кнопку «Пуск» и набрать в открывшемся окне команду %systemroot%\syswow64\regedit
В редакторе реестра, запустившемся после нажатия клавиши «Enter», необходимо выбрать пункт «Импорт» в меню «Файл» и указать путь к файлу ключа.
В. Как зарегистрировать вашу программу?
После оплаты вы получаете письмо с подробным описанием действий и вашим уникальным ключом для регистрации.
Для процесса регистрации необходимо соединение с сетью интернет.
Скопируйте ключ (выделить и нажать Ctrl+C), запустите программный продукт Call Office, нажмите кнопку «О программе» вверху справа.
Откроется страница «О программе», где есть специальное поле «Для регистрации через интернет введите ключ продукта:».
О. Для работы с нашим программным продуктом необходимы права администратора. Как правило, работа с реестром Windows и системными папками при включенном контроле учетных записей пользователей идёт не напрямую, а через VirtualStore, раздел, создаваемый в ветке реестра конкретного пользователя или в папке %USERPROFILE%/AppData/Local/VirtualStore. То есть, при обращении программы, запущенной не от имени администратора, к папке C:/Program Files/Call Office на самом деле обращение идёт к папке %USERPROFILE%/AppData/Local/VirtualStore/Program Files/Call Office.
Запустить от имени администратора приложение *.hta не представляется возможным. Обойти эту проблему можно следующим образом:
- Кликнуть по кнопке «Пуск»;
- Набрать в поле «Найти программы и файлы»: CMD;
- Нажать правой кнопкой мыши на появившемся вверху окне ярлыку cmd.exe;
- Выбрать «Запуск от имени администратора».
Откроется окно командной строки. Оно запущено от имени администратора, и все приложения, стартовавшие в нём, тоже будут запущены от имени администратора. Теперь достаточно перейти в папку с установленным Call Office и набрать:
В. В операционной системе Windows 2008 Server при запуске Ошибка регистрации основного ActiveX компонента. Код ошибки: -2146827859
О. При установке серверных ОС Windows по умолчанию не устанавливается проигрыватель Windows Media вместе с библиотеками, необходимыми для воспроизведения звука.
Для того, чтобы установить необходимые библиотеки, надо запустить «Диспетчер сервера», выбрать пункт «Компоненты» -> «Добавить компоненты»
Как написано на сайте Microsoft:
Поэтому необходимо выбрать этот пункт в списке, нажать кнопку «Далее >», установить возможности рабочего стола и согласиться на перезагрузку сервера.
После перезагрузки необходимо запустить командную строку, перейти в папку, где установлен Call Office, затем в папку Bin и выполнить команду:
После того, как появляется окно, информирующее об успешной регистрации системной библиотеки, вы можете запускать сценарии Call Office.
В. Приобрели лицензию, но демонстрационное окно по-прежнему появляется
О. Некоторые системы проверяют соответствие сертификата сервера путем отправки запроса на сервер обработки сертификатов. Если у вас возникает демонстрационное окно после ввода ключа, то, скорее всего, сервер, к которому обращается ваша система недоступен на данный момент. Чтобы отключить обращение к недоступному серверу проверки сертификатов нужно:
- Открыть Internet Explorer, в нем "Свойства браузера" и перейти во вкладку "Дополнительно"
- Снять галочки с пунктов "Проверять, не отозван ли сертификат сервера*" и "Проверять аннулирование сертификатов издателей".
После выполнения этой инструкции, демонстрационное окно больше не должно появляться.
В. Сколько дополнительных линий надо купить, чтобы одновременно звонить 10 абонентам?
О. Одна линия включена в лицензию. Для того, чтобы звонить десяти абонентам, требуется 10 - 1 = 9 дополнительных линий.
Читайте также: