2008-12-19 5 views
1

HttpWebRequest 클래스로 C# 코드를 사용하여 ClickOnce 응용 프로그램을 시작하려고합니다. 응용 프로그램은 IE를 사용하여 잘 배치 할 수 있습니다. 그러나 코드를 사용하여 배포를 수행하는 경우 .application 파일 만 클라이언트에 다운로드됩니다.HttpWebRequest를 사용하여 ClickOnce 응용 프로그램 배포

내 코드는 다음과 같습니다.

 HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create("http://localhost/test/test.application"); 
     getRequest.Method = "GET"; 
     getRequest.Timeout = 500000;     //default is 100 seconds 

     HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse(); 
     string loginUrl = getResponse.ResponseUri.AbsoluteUri; 
     StreamReader responseReader = new StreamReader(getResponse.GetResponseStream()); 
     string responseData = responseReader.ReadToEnd(); 
     responseReader.Close(); 

내 코드에 문제가 있습니까?

감사합니다. - Bruce

답변

2

IE가 .application 파일을 볼 때 특별한 점이 있다고 생각합니다. 이것이 .NET 3.5 SP1에서 처리기를 추가 할 때까지 ClickOnce가 배포 한 기능이 FireFox에서 작동하지 않는 이유입니다. 그래서 당신이보고있는 것은 올바른 행동이 될 것입니다. 앱은 파일을 순전히 바이트 스트림으로 끌어 내려고합니다. 그걸로 무엇을해야할지 모릅니다. 당신이 프로그래밍 방식으로 응용 프로그램을 실행하려면

, 내가 대신이 좋을 것 :

System.Diagnostics.Process.Start("http://localhost/test/test.application"); 

업데이트 전체에서 ClickOnce/파이어 폭스 것은 here에 대한 자세한 내용은 조금에게있다

. 응용 프로그램/-ms-application 형식을 인식하고 ClickOnce 설치 관리자로 파일을 실행하는 IE 용 MIME 형식 처리기가 설치되어있는 것 같습니다. .NET 3.5 SP1 이전에이 기능을 활성화 한 이전 FireFox 애드온을 체크 아웃하고 프로그램 적으로 .application 파일을 실행하기 위해 수행 한 작업을 살펴볼 필요가 있습니다.

관련 문제