2013-04-30 8 views
1

.NET 2.0 용 ClickOnce 응용 프로그램을 개발했으며 정상적으로 작동합니다. 생성 된 publish.html 페이지에서 설치 버튼을 누르거나 응용 프로그램 URL https://<host>:<port>/<path>/<app>.application에 직접 액세스하면 IE가 설치/시작되고 의도 한대로 실행됩니다.ClickOnce : 웹에서 설치/실행 자동 시작하는 방법

사용자에게 더 나은 시작 경험을 제공하기 위해 사용자가 다른 단추 또는 링크를 클릭 할 필요없이 즉시 응용 프로그램의 설치/시작을 시작하고 싶습니다. 따라서 다음 JavaScript 코드를 추가했습니다.

setTimeout(function() { 
    var iframe = $("<iframe/>") 
     .attr("id", "autoDownloadFrame") 
     .attr("src", "https://<host>:<port>/<path>/<app>.application") 
     .hide(); 
    iframe.appendTo($('body')); 
}, 1500); 

이 코드는 설치 프로그램의 자동 다운로드와 같이 잘 작동합니다. 또한 ClickOnce 응용 프로그램에 대한 .application 파일을 다운로드 할 때까지 작동합니다. 그러나 유감스럽게도 ClickOnce 설치/실행은 내 앱을 시작하지 않습니다.

웹 서버 (여기에서 Spring 3.2를 사용하는 Tomcat 7 사용)에서 설정 한 Content-Type과 관련이 있다고 생각했습니다. 그러나 내용 유형이 application/x-ms-application으로 설정되었는지 확인한 후에도 자동 시작은 발생하지 않습니다.

왜 그런지에 대한 힌트가 있습니까?

OS : Win7에 기업 64 비트, EN 브라우저 : MSIE 9.0, 3.5 사용할 수 (자연적 이후 클릭 시작 작품)을 통해 .NET 2.0 프로토콜 : 테스트 HTTP 및 HTTPS 모두, 사용자 정의 포트 (8080 및 8443에 모두)

미리 감사드립니다. 건배, 비요른

+0

이 가능 잘못 싶습니다 - 응용 프로그램을 방지하기 위해 사용자 상호 작용없이 다운로드 및 실행되지 않습니까? – stuartd

+0

네, 가능합니다. 그러나 첫 번째 실행에서 대화 상자가 나타나면서 설치 프로세스를 확인해야하므로 두 가지 방법으로 확실하게 확인됩니다. – Bjorn

답변

0

동료의 현재 연구 및 피드백은이 동작이 명시 적으로 사용자가 요청한 자동화 된 응용 프로그램 시작을 방지하기 위해 Microsoft에서 구현되었음을 나타냅니다 (링크 또는 단추를 명시 적으로 클릭하여). 그래서 나는 이것을 할 수 없다고 생각하고 "시작하려면이 버튼을 클릭하십시오"해결책을 계속 사용합니다.

정정 해줘 주시기 바랍니다 내가 틀렸다면, 나는 이것이 디자인이다이 경우 :

건배, 비요른