Поиск внешних программ - PullRequest
       34

Поиск внешних программ

1 голос
/ 07 апреля 2011

Мы работаем над приложением WPF, которое будет тесно работать с другими приложениями.Прямо сейчас, это работает с Microsoft Excel.

Я хотел бы запустить некоторый пользовательский код при установке нашего приложения WPF, которое сканирует компьютер пользователя и находит местоположение Excel, чтобы я мог сохранить его в файле app.config нашей программы WPF.Позже, когда нам понадобится запустить Excel для редактирования файла, я буду использовать этот путь в файле конфигурации для передачи в Process.Start ().

Я не хочу создавать надстройку или шаблон Excel (не вариант, поэтому не предлагайте это в качестве ответа).

О каких проблемах безопасности нам следует беспокоиться?Эта схема "кошерная"?Что делать, если я пытался работать с другим приложением, которое не имело столько возможностей подключения, как Excel.Какие методы вы бы предложили для обнаружения и запуска этого приложения?Лучше просто попросить пользователя найти программу, а не искать ее в файловой системе?

Редактировать: Кто-нибудь хочет обсудить общий вопрос?Что если я запускаю не Excel, а какой-то другой инструмент (iTunes, Audacity и т. Д.)?Никто не обсуждал и не говорил о секретном вопросе.Можно ли искать исполняемый файл?Должен ли я просто спросить пользователя, где его найти? / Редактировать

Ответы [ 2 ]

2 голосов
/ 07 апреля 2011

Путь установки находится в реестре:

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Office \ 14.0 \ Excel \ InstallRoot

14.0 может отличаться в зависимости от версии.

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

Следовательно, IMO лучше представить пользователям диалоговое окно обзора и позволить им найти исполняемый файл самостоятельно.

0 голосов
/ 07 апреля 2011

, поскольку путь к Excel зарегистрирован в переменной окружения "PATH", я бы подумал, что должен работать "excel.exe" с параметром filepath.

или вы можете посмотреть реестр и найти связанные "Откройте «С помощью» и предложите использовать какой из них использовать (с дополнительным make для вашего приложения по умолчанию).

...