2009-03-04 3 views
3

URL을 통해 다른 응용 프로그램에서 자주 시작되는 ClickOnce 응용 프로그램이 있습니다. URL에 데이터 등을로드하는 명령 줄 인수가 포함되어 있습니다.URL을 통해 ClickOnce를 시작하지만 업데이트를 확인하지 않음

앱을 시작하는 빈도가 너무 많으므로 버전 업데이트 확인을 자르고 싶습니다. 그래서 나는 그것을 피하기 위해 ApplicationDeployment 클래스를 통해 내 자신의 검사를 구현했다. 앱이 설치되면 시작 메뉴에서 실행하면 정상적으로 작동합니다.

그러나 여러 측면에서 유리하기 때문에 URL 동작을 통해 실행을 유지하려고합니다. 하지만 URL을 통해 실행하면 업데이트 확인이 항상 수행됩니다. IE가 로컬 다운로드 영역에서 앱이 이미 설치되어 있는지 여부를 확인하기에 현명하지 않은 것 같습니다.

URL 실행 메커니즘을 사용하면서 "자동으로 업데이트를 확인하지 않음"동작을 얻는 방법을 알고 있습니까?


실제로 문제는 ClickOnce 모델에서 Catch-22 인 것처럼 보입니다. URL로 시작하는 경우 IE는 항상 호스트를 터치하고 필요한 경우 버전을 확인하고 앱에 "버전 확인 안 함"으로 플래그가 지정되었는지 여부에 관계없이 업데이트됩니다. 그러나 시작 메뉴에서 시작하면 ClickOnce는 명령 줄 인수를 비활성화합니다.

누구든지이 문제를 발견했거나 MS 계획을 알고 있습니까?

답변

0

registering the application to a custom URL protocol을 고려 했습니까? 이것은 아마도 바람직한 것으로 생각되는 속성, 즉 웹 브라우저 내부에서 임의의 시작 매개 변수로 응용 프로그램을 시작할 수있는 기능을 제공 할 것입니다.

1

"수정"할 사항은 없습니다. 이것은 온라인 ClickOnce 배포의 의도 된 동작입니다. 온라인 상태인지 확인하고 최신 버전을 실행하는지 확인한 다음 실행합니다. 그렇게하고 싶지 않다면 온라인과 오프라인으로 실행하도록 설정해야합니다.

오프라인으로 설정하고 여전히 http url을 통해 호출하면 여전히 업데이트를 확인 하겠지만 맹세하지는 않을 것입니다. 온라인/오프라인 앱 인 경우 시작 메뉴의 바로 가기를 통해 전화 할 수 있습니다.

.NET 3.5 SP-1 또는 .NET 4.0을 대상으로하는 경우 온라인/오프라인 인 경우 응용 프로그램에 인수를 전달할 수 있습니다. 이를 수행하는 방법을 알아 보려면 this article을 확인하십시오.