2011-04-11 3 views
0

다른 유형의 프로그램을 시작하기 위해 VS 2008 C#로 작성된 Windows 프로그램을 가져 오는 데 큰 어려움을 겪고 있습니다. 저는 다른 VS 2008 C# 프로그램을 시작할 수있는 기능을 제공하는 메인 프로그램을 작성했습니다. 이 중 하나를 선택하면 다음 코드가 실행을 위해 사용됩니다.다른 하나의 내부에서 Visual Studio C# 프로그램을 실행하려고합니다.

System.Diagnostics.Process.Start (@ "C : \ Documents and Settings \ rat \ My Documents \ Visual Studio 2008 \ Projects \ PV_002_082708 \ PV_001 \ PV_001 \ bin \ Debug \ PV.exe ");

작동하지만 각 사용자마다 다른 경로가 있습니다. 표시된 경로는 내 컴퓨터를위한 것입니다. 코드는 각 개인 프로그램이 설치된 위치를 알아야합니다! 과거에는 C : \ Program Files 위치에 있던 프로그램을 쉽게 호출 할 수있었습니다. MS 패키지 & 배포 프로그램이 프로그램을 저장하기 때문입니다. VS 2008/2010은 거기에 넣지 않습니다!

저는 Visual Studio 2008/2010에 대해 잘 모르겠다는 것을 알고 있습니다. 따라서 도움이 될만한 정보를 얻을 수 있습니다.

+0

음, 100 % 아니에요,하지만 난 당신이 DLL에 exe를 embedd해야 할 것이라고 확신 해요. 그래서 당신이 그것을 배포 할 때, 그것은 항상 exe를 위해 스스로를 보았습니다. – clamchoda

+0

그건 내가 결코 생각하지 못했던 것입니다. 나는 당신의 다른 코멘트가 토론에 대한 링크를 가지고있는 것을 보았습니다. 감사! –

+0

Np, 행운을 빌어 요 !! – clamchoda

답변

0
System.Diagnostics.Process.Start(System.Io.Path.Combine(System.Windows.Forms.Application.StartupPath, "PV.exe")); 

프로그램이 시작된 응용 프로그램의 경로에 있다고 가정합니다. 당신이 장소에서 프로젝트를 열고 자하는 가정

또는 ...

System.Diagnostics.Process.Start(System.Io.Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), @"Visual Studio 2008\Projects\PV_002_082708\PV_001\PV_001\bin\Debug\PV.exe")); 

.

+0

이 제안에 감사드립니다. 나는 당신의 첫번째 것을 시도하고 "시스템은 지정된 파일을 찾을 수 없습니다"오류가 발생했습니다. 두 번째 방법은 파일이 모든 컴퓨터에있는 디렉토리를 알아야합니다. 첫 번째 경로는 경로가 필요 없기 때문에 훌륭합니다. –

0

일단 설치 패키지를 만들면 설치 경로를 사용자가 변경할 수없는 고정 경로로 설정하고 코드에서 사용하는 것보다 (사용자 친화적이지는 않지만 작동 할 수 있음) 또는 선택한 사용자를 삽입 할 수 있습니다 경로 값을 레지스트리로 가져 와서 대신 가져와야합니다.

+0

그래, 나는 모든 사용자를위한 어려운 길을 얻는 방법에 대해 생각해 왔지만 30 세가 넘었고 출시 할 각 프로그램마다 특별한 경로가있다. 그것은 진정한 해결책이지만, 나는 그것을하는 더 쉬운 방법을 찾고자했습니다. 아이디어를 가져 주셔서 감사합니다! –

0

이 스레드를보고 싶을 수도 있습니다. 노하우뿐만 아니라 많은 프로와 단점.

Embedded a *.exe into a dll

당신이 그의 질문에 대한 첫 번째 대답을 참조하면

, 나는이 당신을 위해 작동 할 것이라는 점을 생각한다.

단순히 리소스 파일을 프로젝트에 추가 한 다음 사용자가 프로그램을 실행하면 최종 사용자가 작업하는 곳에서 리소스 파일로 추가 한 exe 파일을 추출합니다.

+0

링크를 제공해 주셔서 감사합니다! 나는 리소스에 exe prog를 imbed한다면 궁금하다. 임베디드 프로그램이 변경되면이 프로그램을 재 컴파일해야 할까? 아니면 리소스가 단지 링크를 보유하고 당신이해야 할 일은 리소스 외부의 프로그램을 다시 컴파일하는 것입니까? 나는 이치에 맞기를 바란다. –

+0

Hello Bob, 프로젝트를 빌드 할 때 컴파일러에서 이러한 파일을 어셈블리에 추가 할 때입니다.따라서 이러한 외부 리소스를 업데이트 할 때마다 솔루션을 다시 빌드해야한다고 생각합니다. – clamchoda

관련 문제