2016-07-01 3 views
0

.exe 파일을 응용 프로그램에서 실행해야하는 프로젝트를 진행 중입니다. 문제는 여기에 파일이 항상 사용자 컴퓨터의 동일한 위치에 있음을 보장 할 수 없다는 것입니다. 내 응용 프로그램은이 .exe 파일의 위치를 ​​알 수있는 방법이 없습니다. 프로젝트의 다른 EXE 파일 경로를 어떻게 구성해야합니까?

그래서 예를 들어, 내 응용 프로그램은 다음 위치에 (기본적으로) 위치 mongod.exe을 실행해야 : C : \ 프로그램 파일 \ MongoDB를 \ 서버 3.2 \ 빈 \의 mongod.exe \.

여기의 문제는 항상 사용자가이 응용 프로그램을 다른 장소에 설치했을 수 있으므로 .exe 파일의 경로가 항상 동일하다고 가정 할 수 없다는 것입니다. 고객.

A setting in the Settings.settings file

이 사용자는 다음 의 app.config 파일을 편집 할 수 있습니다 또는 내가 할 수있는 :

은 현재 내가 파일에 기본 파일 경로를 저장하기 위해 Settings.settings에게 파일을 사용하고 있습니다 사용자가 파일 경로를 변경할 수 있도록 UI를 제공하십시오.

제 질문은 더 좋은 방법이 있습니까?

+0

왜 응용 프로그램이 디스크를 크롤링하고 .EXE를 찾을 필요가 없습니다 작동하지 않습니다. 그런 다음 사용자에게 선택한 파일이 실제로 의도 한 파일인지 확인하도록 요청하십시오. 이러한 파일이 두 개 이상인 경우 특히 유용합니다. 하지만 동일한 기계에서 버전이 변경 될 수도 있습니다. 복구/재발견 프로세스를 프로그래밍해야합니다. – Eniola

+1

'HKEY_LOCAL_MACHINE \ SOFTWARE \ Wow6432Node \ Microsoft \ Windows \ CurrentVersion \ Uninstall \'을 살펴보십시오. –

답변

0

레지스트리에서 Mongodb.exe 파일의 경로를 검색하는 것이 유용 할 수 있습니다. 레지스트리 항목에서 exe 경로를 찾으십시오.

RegistryKey key = Registry.LocalMachine.OpenSubKey ("Software \ MongoDB \ MongoDB Connector"); if (key! = null) { Object o = key.GetValue ("InstallPath"); }

개체 o는 MongoDB.exe 파일의 경로를 제공합니다. 응용 프로그램이 로컬 컴퓨터의 레지스트리에 액세스 할 수있는 권한이없는 경우

P.S : 다음,이 방법은

관련 문제