Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2012, 09:33   #1
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию Как проверить наличие программы

Доброго времени суток! Искал. не нашел. Наверное криворукий. Но, непосредственно, перейдем к вопросу: При запуске программы нужно проверить наличие установленного продукта (в моем случае Ansys). Предположительно какая версия стоит неизвестно. Так вот. Как проверить установлена ли программа на компьютере?
googl вне форума Ответить с цитированием
Старый 22.03.2012, 10:52   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

тут не может существовать УНИВЕРСАЛЬНЫХ ответов..
можно, например, отследить, какие ключи в реестре создаёт данная программа и проверять их наличие.
можно найти путь, где программа должна быть установлена (если такой путь есть) и проверить, если ли нужные EXE файлы по данному пути,
можно проверить веточку реестра, где хранится список "Установленные программы" (им пользуется applet Windows - Пуск - Панель управления - Установка и удаление программ...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.03.2012, 10:57   #3
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
тут не может существовать УНИВЕРСАЛЬНЫХ ответов..
можно, например, отследить, какие ключи в реестре создаёт данная программа и проверять их наличие.
можно найти путь, где программа должна быть установлена (если такой путь есть) и проверить, если ли нужные EXE файлы по данному пути,
можно проверить веточку реестра, где хранится список "Установленные программы" (им пользуется applet Windows - Пуск - Панель управления - Установка и удаление программ...
Эм... Забыл добавление важное. после того,как найдена эта установленная программа, нужно к исполняемому файлу путь вытащить

Вот идея про установленные программы мне понравиолась
googl вне форума Ответить с цитированием
Старый 22.03.2012, 14:29   #4
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

А вам с программой взаимодействовать надо? Мне кажется, у неё есть API или SDK. Почитайте, что там написано про взаимодействие с ней, как надо делать. Вполне может быть, что там COM, и поэтому знать пути к программе не нужно.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 22.03.2012, 14:37   #5
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
А вам с программой взаимодействовать надо? Мне кажется, у неё есть API или SDK. Почитайте, что там написано про взаимодействие с ней, как надо делать. Вполне может быть, что там COM, и поэтому знать пути к программе не нужно.
Чуть в том, что через командную строку она запускаться будет с параметрами. т.е. прямого взаимодействия нет
googl вне форума Ответить с цитированием
Старый 22.03.2012, 14:43   #6
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

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

Если нет, то лично я бы начал с HKEY_LOCAL_MACHINE\Software\ваша-программа\поле-путь-установки.

Если такого значения программа не хранит, то можно смотреть в БД uninstall, но не факт, что там будет ссылка на папку.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 22.03.2012, 14:57   #7
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Если в программе есть утилиты командной строки, то, возможно, что программа прописывает себя в переменных окружения.

Если нет, то лично я бы начал с HKEY_LOCAL_MACHINE\Software\ваша-программа\поле-путь-установки.

Если такого значения программа не хранит, то можно смотреть в БД uninstall, но не факт, что там будет ссылка на папку.
Если смотреть ветки реестра, то нужно перебрать все возможные версии программы? т.е. в ручную писать названия?
googl вне форума Ответить с цитированием
Старый 22.03.2012, 15:01   #8
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

От программы зависит. Часто программы не допускают установки нескольких версий одновременно. Поэтому им не имеет смысла делать разделение на версии.

В противном случае вам нужно будет как-то решить, какую из двух установленных версий вы хотите запускать.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 22.03.2012, 15:22   #9
googl
Форумчанин
 
Регистрация: 05.06.2010
Сообщений: 154
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
От программы зависит. Часто программы не допускают установки нескольких версий одновременно. Поэтому им не имеет смысла делать разделение на версии.

В противном случае вам нужно будет как-то решить, какую из двух установленных версий вы хотите запускать.
я имею в виду, что в ветке будет написано, например, ANSYS10, или ANSYS11, или ANSYS 12. И мне нужно искать по ветке будет эти 3? т.е. мне самому нужно прописать что искать
googl вне форума Ответить с цитированием
Старый 22.03.2012, 15:25   #10
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Ну, есть такая вещь как цикл и таблицы. Или я вопроса не понял.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как проверить наличие папки на удаленном сервере? xxxsas PHP 4 18.01.2011 16:16
как проверить наличие определенного текста в строке jihot Общие вопросы Delphi 6 04.04.2010 18:40
Как проверить наличие базы данных на сервере Oooleg Microsoft Office Excel 1 25.02.2010 18:11
Как проверить наличие частицы в каждой строке memo? zotox Помощь студентам 13 24.03.2009 12:56
Как проверить TImage на наличие в нём картинки soonner Мультимедиа в Delphi 3 16.03.2009 22:01