Как прописать программу в реестре windows 7

Обновлено: 04.07.2024

Эта статья предназначена для продвинутых пользователей, администраторов и ИТ-специалистов.

Импорт регистрационных записей (.reg) файлов является особенностью Regedit.exe и не поддерживается Regedt32.exe. Вы можете использовать Regedit.exe для внесения некоторых изменений в реестр на Windows NT 4.0 или Windows 2000 основе компьютера, но некоторые изменения требуют Regedt32.exe. Например, нельзя добавлять или изменять REG_EXPAND_SZ или REG_MULTI_SZ значения с помощью Regedit.exe на windows NT 4.0 или windows 2000-компьютер. Regedt32.exe является основным редактором реестра для Windows NT 4.0 и Windows 2000. Если необходимо использовать Regedt32.exe, вы не можете использовать файлы регистрационных записей (.reg) для изменения реестра. Для получения дополнительной информации о различиях между Regedit.exe и Regedt32.exe, нажмите следующий номер статьи, чтобы просмотреть статью в базе знаний Microsoft:

141377 Различия между Regedit.exe и Regedt32.exe

Содержание

Аннотация

Внимание! В этом разделе, описании способа или задачи содержатся сведения об изменении реестра. Но неправильное изменение параметров реестра может привести к возникновению серьезных проблем. Поэтому такие действия следует выполнять очень внимательно. Чтобы обеспечить дополнительную защиту, создайте резервную копию реестра перед его изменением. Это позволит восстановить реестр при возникновении неполадок. Дополнительные сведения о создании резервной копии и восстановлении реестра см. в следующей статье базы знаний Майкрософт:

322756 Как создать резервную копию и восстановить реестр в WindowsЭта пошаговая статья описывает, как добавлять, изменять или удалять подки и значения реестра с помощью файла Регистрационные записи (.reg). Regedit.exe использует файлы .reg для импорта и экспорта подключ и значений реестра. Эти файлы .reg можно использовать для удаленного распространения изменений реестра на нескольких компьютерах на базе Windows. При запуске файла .reg содержимое файла сливается в локальный реестр. Поэтому необходимо распространять файлы .reg с осторожностью. вернуться к вершине

Синтаксис . Reg Файлы

Файл .reg имеет следующий синтаксис: Линия реестраEditorВерсиябланкаRegistryPath1DataItemName1""DataType1:DataValue1" DataItemName2"я"DataType2:DataValue2" Пустая линияRegistryPath2DataItemName3""DataType3:DataValue3" Где: RegistryEditorVersion является либо "Windows реестра редактор версия 5.00" для Windows 2000, Windows XP, и Windows Server 2003, или "REGEDIT4" для Windows 98 и Windows NT 4.0. Заголовок "REGEDIT4" также работает на компьютерах на базе Windows 2000, Windows XP и Windows Server 2003. Пустая линия — это пустая линия. Это определяет начало нового пути реестра. Каждый ключ или подключья — это новый путь реестра. Если у вас есть несколько ключей в файле .reg, пустые строки могут помочь вам изучить и устранить неполадки содержимого. RegistryPathx — это путь подключаемого ключа, который содержит первое значение, которое вы импортируете. Закройте путь в квадратные скобки и разделите каждый уровень иерархии на задний план. Например:

. 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.

  1. Добавить подключ к App Paths, имя которого будет совпадать с именем вашего исполняемого файла, как показано в примере:
  2. См. таблицу ниже для информации по записям в ключе App Paths:

Использование подключа реестра Applications

С помощью включения записей реестра под ключом HKEY_CLASSES_ROOT\Applications\ApplicationName.exe приложения могут предоставлять такую специфичную для приложения информацию:

Примеры

Вот некоторые примеры регистрации приложений через ключ реестра HKEY_CLASSES_ROOTApplicationsApplicationName.exe. Все записи имеют тип REG_SZ, за исключением DefaultIcon, который имеет тип REG_EXPAND_SZ.

Следующий пример показывает, что происходит, когда пользователь запускает апплет Программы по-умолчанию в Панели управления, чтобы изменить программу для открытия файлов .mp3 на App2ProgID. После изменения умолчания действие Verb1 больше не доступно, а действие Verb2 становится действием по-умолчанию.

Во время установки, куда писать данные о своей программе? LOCAL_MACHINE/Software? CURRENT_USER? А если с per-user лицензиями, а пользователей на компе может быть несколько?

Не нагуглил ничего толкового.

Реестр - зло, программы пишущие туда - поборники зла.

Nomad
> А если с per-user лицензиями, а пользователей на компе может быть несколько?
Что за программа такая? Ну, пиши в CURRENT_USER, пусть каждый пользователь себе сам лицензию ставит.

Если нет админовских прав, только в CURRENT_USER и позволено будет писать.
А в принципе, писать можно куда угодно, чем и пользуются всякие злостные програмулины. Зафигачат свои параметры в такое место, где их хрен найдешь, если не позаботиться о мониторинге изменений реестра в процессе их установки.

Zab
Просто было бы логично, если бы для разных нужд были бы разные разделы в реестре.
Хотя бы общие рекомендации есть, или все действительно пишут куда попало?

nes
Каковы альтернативы?

kipar
Тулзы для девелоперских контор.

что мешает хранить базу данных с настройками и всей нужной инфой, как делает, например, AIMP? преимущества очевидны - portable'ность программы.

Nomad
>Каковы альтернативы?
Не писать ничего в реестр - очевидно же )

Nomad
> Во время установки, куда писать данные о своей программе?
это какие данные?
это те, благодаря которым, программа появляется в списке "Установка и удаление программ"?

вообще для простейших случаев лучше использовать NSIS
насколько помню в комплекте есть готовые примеры

Nomad
> А если с per-user лицензиями, а пользователей на компе может быть несколько?
Обычно для игр используют Per Device

И вообще, сели программа умеет отличать пользователей, то собственно какая разница куда сохранять?

То есть просто создать для каждого пользователя отдельный файл лицензии.
Эти файлы положить в папку программы.

Тогда в реестр ничего писать не надо будет.

daemolisher
> Эти файлы положить в папку программы.
Фейл. Для подобных вещей предусмотрены папки AppData в пользовательском каталоге. А в папку программы писать будет запрещено.
Вот о таком я и хотел донести, когда писал, что здесь на такие вопросы по-нормальному не ответят.

daemolisher
> Фейл. Для подобных вещей предусмотрены папки AppData
наоборот всё)))
писать в папку AppData - это и есть фейл, так как неизвестно есть ли права на это у пользователя

а вот так как я предлагаю - работает лучше, так как при установке программы (даже если просто распаковать из архива в новую папку)
во вновь созданной папке будут присвоены права на запись в неё

исключения правда есть, например папка Program Files в Windows Vista/7
лучше избегать установки игры в эту папку
ставить например в C:\Games\

Nomad
> CURRENT_USER?
по идее да.

Nomad
> лицензиями
я бы не стал пользоваться реестром для решения данной проблемы, и. да.. прислушайтесь к остальным

daemolisher
> писать в папку AppData - это и есть фейл, так как неизвестно есть ли права на
> это у пользователя
У пользователя может не быть прав писать в СВОЮ AppData?

Инструкция применима ко всем версиям Windows, начиная с Windows XP и заканчивая Windows 10.

Допустим, наша задача — скрыть запись об установленном архиваторе WinRAR. Открываем Панель управления, переходим в раздел Programs and Features (Программы и компоненты) и удостоверяемся, что запись WinRAR archiver присутствует в списке установленного ПО.


Для того, чтобы скрыть запись о программе потребуется внести небольшие изменения в реестр. Для этого:

    Открываем редактор реестра (regedit.exe) и переходим в раздел HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall. На основании содержимого этого раздела генерируется список установленного ПО, который пользователь видит в разделе Программы и компоненты.

Если необходимо использовать скрытие программы в рамках некого сценария или скрипта, можно воспользоваться такой командой:

REG ADD "HKLMSOFTWAREMicrosoftWindowsCurrentVersionUninstallWinRAR archiver" /v SystemComponent /t REG_DWORD /d 1 /f


Чтобы отключить режим скрытия для программы достаточно удалить параметр SystemComponent или произвести обратное переименование параметра DisplayName, убрав слово Quiet.

Alex1983

Drongo

Кирилл

Да,там, Drongo, верно говорит.

Вот небольшой скрипт получения списка программ:

Так же можно отфильтровать software разделы в hklm и hkcu

Дата установки программы в Windows

Дата установки программы в Windows


Методы получения даты установки программ

  • Через программы и компоненты
  • Через сторонние программы
  • Через логи Windows

Программы и компоненты

Все ниже описанные действия, будут актуальны в любой версии Windows. Откройте "Панель управления > Программы и компоненты"


В открывшемся окне найдите нужную вам программу, в столбце "Установлено" вы увидите нужную вам дату, если щелкнуть по столбцу сверху, то у вас будет все отфильтровано по дате.


Через утилиту Ccleaner


Через просмотр событий

Все события происходящие в Windows, записываются в логи просмотра событий. Нажмите WIN+R и введите eventvwr.msc


В открывшемся окне "Просмотр событий" перейдите в пункт "Приложение"


В правой части, найдите пункт "Фильтр текущего журнала". В окне "Фильтровать текущий журнал", выберите источник событий Msinstaller.


В итоге вы получите список событий, по которому можете узнать кто и когда устанавливал программное обеспечение. В моем примере вы видите событие с кодом 11707, рассказывающее о установке Microsoft Visual C++ и видно, что его устанавливал пользователь sem.


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

Популярные Похожие записи:

5 Responses to Дата установки программы в Windows

интересно,а как можно изменить дату установки программы? а то очень надо

Реестр Windows, все берется из него.

А где именно и как подскажи

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

1\AppData\Local\Temp\VCRedist\VCRedist_2012_x86_False\11.0.60610.1\Minimum\» ;Источник установки
«ModifyPath»=hex(2):4d,00,73,00,69,00,45,00,78,00,65,00,63,00,2e,00,65,00,78,
00,65,00,20,00,2f,00,58,00,7b,00,45,00,37,00,44,00,34,00,45,00,38,00,33,00,
34,00,2d,00,39,00,33,00,45,00,42,00,2d,00,33,00,35,00,31,00,46,00,2d,00,42,
00,38,00,46,00,42,00,2d,00,38,00,32,00,43,00,44,00,41,00,45,00,36,00,32,00,
33,00,30,00,30,00,33,00,7d,00,00,00
«NoModify»=dword:00000001
«Publisher»=»Microsoft Corporation»
«Readme»=»»
«Size»=»»

Читайте также: