2011-04-07 2 views
1

우리는 다른 응용 프로그램과 긴밀하게 작업 할 WPF 응용 프로그램을 만들고 있습니다. 지금은 Microsoft Excel을 사용하고 있습니다.외부 프로그램 검색

사용자 컴퓨터를 검사하고 WPF 프로그램의 app.config 파일에 저장할 수 있도록 Excel의 위치를 ​​찾는 WPF 응용 프로그램 설치시 사용자 지정 코드를 실행하고 싶습니다. 나중에 파일을 편집하기 위해 Excel을 시작해야 할 때,이 경로를 설정 파일에서 사용하여 Process.Start()로 전달합니다.

Excel 추가 기능 또는 서식 파일을 만들려하지 않습니다 (옵션이 아니므로 대답으로 제안하지 마십시오).

우리는 어떤 보안 문제에 대해 걱정해야합니까? 이 계획은 "정결 한가"? Excel과 같은 플러그인이없는 다른 앱으로 작업하려고한다면 어떻게 될까요? 이 앱을 찾아서 실행하기 위해 어떤 방법을 제안 하시겠습니까? 단순히 파일 시스템을 검색하는 대신 사용자가 프로그램을 찾도록 요청하는 것이 더 좋습니까?

편집 : 누구나 일반적인 질문에 대해 토론하고 싶습니까? Excel을 실행하지 않고 다른 도구 (iTunes, Audacity 등)를 실행하면 어떻게됩니까? 아무도 보안 질문에 대해 논의하거나 이야기하지 않았습니다. 실행 파일을 검색해도 괜찮습니까? 나는 어디서 찾아야 할까? /편집

답변

2

설치 경로는 레지스트리에 있습니다

HKEY_LOCAL_MACHINE \ 소프트웨어 마이크로 소프트 \ \ 사무소 \ 14.0 \ Excel에서 \ INSTALLROOT

14.0 버전에 따라 다를 수 있습니다.

편집 : 일반적으로 대부분의 설치 프로그램은 사용자가 원하는 위치에 앱을 설치할 수있게하므로 모든 폴더의 모든 디스크에 앱 실행 파일이있을 수 있으므로 모든 드라이브의 모든 폴더를 재귀 적으로 검색 할 수 있습니다 (이후 공통 설치 경로가 검색 됨)은 실행 파일을 찾는 신뢰할 수있는 방법입니다.

따라서 사용자에게 찾아보기 대화 상자를 제시하고 실행 파일을 스스로 찾을 수있게하는 것이 좋습니다.

+0

Excel에서 작동하지만 우리가 사용할 수있는 응용 프로그램이 아닙니다. 또한 어떤 버전을 검색해야하는지 어떻게 알 수 있습니까? –

+0

@Josh G, 레지스트리 데이터를 작성하는 데 필요한 응용 프로그램은 없습니다. 하나의 획일적 인 방식으로 응용 프로그램을 찾을 수 있다고 보장 할 수는 없습니다. 왜 응용 프로그램이 기본적으로 설치와 함께 작동하고 거기에서 시작하는 응용 프로그램을 보지 않습니까? – jlafay

+0

핵심은 이러한 실행 파일을 찾기위한 공통 인터페이스/메소드를 찾는 것입니다. 나는 파일 시스템이 유일한 공통점이라고 생각했다. 모든 프로그램은 파일 시스템의 어딘가에 있어야합니다. –

0

Excel 경로가 "PATH"환경 변수에 등록되어 있으므로 filepath 매개 변수로 "excel.exe"를 실행해야합니다. param이 작동해야합니다.

또는 레지스트리를 검색하여 관련 "Open With"앱을 찾아서 사용할 앱을 선택하여 사용할 수 있습니다 (선택 사항 인 기본 앱으로 설정).

+0

"excel.exe"가 작동하지 않습니다. 나는 CommandPrompt를 열고 그것을 타이프하고 "인식하지 못했습니다." –

+0

"연결 프로그램"은 무엇과 관련이 있습니까? 당신이 내가 지정한 파일을 열 것이라고 가정하고있는 것처럼 들리네. –

+0

@ John, 시작> excel.exe를 실행하고 명령 프롬프트는 실행하지 마십시오. –