Для проверки установленного программного обеспечения с помощью программы - PullRequest
0 голосов
/ 03 марта 2011

Нам нужно создать программу. На самом деле нас попросили создать инструмент соответствия лицензированию программного обеспечения .... Как мы проверяем установленное программное обеспечение внутри машины ... Это через реестр ... во время поиска я увидел сообщение, в котором говорилось, что нам нужно изучить раздел "удалить" в HKLM.

Также получаем ли мы информацию о том, является ли программное обеспечение бесплатным, условно-бесплатным, лицензированным из реестра ????

Мы планируем сделать это, используя Python и Mysql

Ответы [ 2 ]

1 голос
/ 03 марта 2011

Как вы уже упоминали, список (правильно) установленных программ можно найти в реестре под ключом

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall

См., Например, здесь или используйте Google для получения дополнительной информации.Посмотрите на этот ключ, используя regedit, идентификатор структуры совершенно очевиден.

Чтобы получить доступ к реестру с помощью python, см. _winreg - Доступ к реестру Windows в документации стандартной библиотеки python.

Обратите внимание, что всегда может быть программное обеспечение, которое не отображается в реестре: некоторые программы все еще можно установить, просто поместив их в каталог, и вы не поймаете этих парней ...

Во второй части невозможно сообщить типу лицензии или статусу лицензии (т.е. правильно лицензированному) при просмотре реестра.Не существует стандартного способа хранения этой информации.Лучшее, что вы можете сделать, - это составить список как можно большего количества программ (вам придется делать это вручную, это займет много времени даже для стандартных программ, таких как Office, Adobe и т. Д.) И хранить всю необходимую информацию.(т. е. ключ GUID в реестре, тип лицензии и т. д.) в базе данных.

Затем ваш инструмент может сравнить список установленных программ с вашим списком, возможно, проверив состояние лицензирования.Это будет еще сложнее в качестве первого шага, поскольку у каждого программного обеспечения есть свой собственный (в основном секретный!) Способ хранения этого - в конце концов, если эта информация доступна, ее также можно подделать.

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

HTH

Martin

0 голосов
/ 03 марта 2011

Вы можете использовать AutoIt мощный язык сценариев для окон, который имеет действительно хороший и простой в использовании API для Windows.

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