Microsoft MVP성태의 닷넷 이야기
글쓴 사람
심현철
홈페이지
첨부 파일
 

ClickOnce를 이용하여 SmartClient를 자동화설치할 수 있다고 아래의 글에 써 있었습니다.
자바스크립트를 이용하면 된다고만 써 있는데, 힌트를 주셨으면 좋겠습니다.

제가 생각하는 배포방식은 기존의 ActiveX 배포하는 것처럼. 특정 사이트에 접속하면 알아서 ActiveX가 설치되고
IE에 호스팅 되는 것입니다. 중간에 마우스로 버튼을 누를 필요도 없고, 멀 선택할 필요도 없이 말입니다.

일단 ClickOnce로 CAS를 설정하는 프로그램을 만들었고 publish.htm도 있습니다.

사용자는 (1) 특정 사이트로 접근한다.
           (2) 웹 페이지에서는 .NET이 설치되었는지 확인한다(publish.htm에 이미 코드가 있죠)
           (3) 웹 페이지에서는 CAS 설정 프로그램이 기존에 설치되어 있는지 확인한다.
                기존에 설치되지 않은 경우에만 CAS 설정 프로그램을 새로 설치한다.
           (4) 스마트 클라이언트를 IE에 호스트할 수 있도록 한다.

이상입니다.








[최초 등록일: ]
[최종 수정일: 12/29/2006]


비밀번호

댓글 작성자
 



2006-12-29 03시21분
[신동열] 자동 설치는 publish.htm 파일을 좀 수정해서 하시면 되구요. 하지만 님이 말씀하시는 것처럼 중간에 마우스 누르지 않고 완전 자동 설치는 불가능 합니다. 그냥 설치 프로그램만 실행되도록 호출해 주는 겁니다. 그리고 클릭원스만들때 옵션에서 온라인으로만 실행되도록 하시는게 좋구요.
설치시 필요한 클릭은 한두번 정도 하게 되구요.
설치 프로그램이 실행되도록 하는건 publish.htm 파일의 설치 버튼을 클릭하면 호출 되는 자바스크립트를 페이지가 로드될때 호출되도록 수정하시면 자동 설치 페이지가 됩니다. 따라서 스마트크라이언트를 사용하는 페이지에서 닷넷설치여부를 체크(서버단에서 페이지 Request.Browser.GetClrVersions를 사용)하셔서 설치되어 있지않으면(당연히 CAS도 설정되어 있지 않겠죠) 자동 설치 페이지로 이동하시고, 마찬가지로 CAS 설정도 체크(이건 보안 위배되는 프로그램을 하나짜서 함수나 속성으로 값을 리턴합니다. 실행하다 에러나면 Fasle, 에러없이 모두 실행되면 True가 되도록 해서 자바스크립트로 이를 체크해서 False이면 역시 자동설치페이지로 이동시켜 버리면 됩니다. CAS에서 설치시 닷넷프레임웍을 자동설치하게 해 놓으면 닷넷 프레임웍 설치도 문제없이 되겠죠.
[guest]

... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...
NoWriterDateCnt.TitleFile(s)
5568카짜프로...11/14/202114271그림 5.20, 그림 5.22 언급 오류 [1]
5567Edun11/2/202112400쿼리문을 코드로 어떻게 처리할 수 있을까요? [2]
5566민성10/26/202112100Linq에 관해서 [1]
5565pass...10/25/202113300wpf에서 Cefsharp를 AnyCPU로 작업 했는데 실행이 되지 않습니다. [4]
5564초보10/21/202111552오버라이드 관련 질문드립니다 [2]
5562서지훈10/20/202111514win32 api 문의 드립니다. (EnableMenuItem) [5]
5561Edun10/15/202112224도와주세요!! 팝업 띄우는 더블클릭 이벤트!! 부탁드립니다 ㅠㅠ [4]파일 다운로드1
5560Edun10/13/202112497C#초보자 개념이해 도와주세요!! [4]
5559최가운10/5/202113055C# debugging 중에 Thread Pool Worker들이 사라지는데요 [3]
5558옥코드9/29/202113138안녕하세요! EntityFramework Linq 질문 드리겠습니다. [4]
5557임기성9/16/202113476웹 사이트(IIS)가 오류로 인하여 빈번하게 죽는 이슈 문의 [1]
5556hjlee9/13/202112411visual studio 설치 없이 csi.exe (C# interactive) tool을 설치할 수 있을까요? [2]
5555이성열 donator9/2/202111873C# 런타임(Reflection)에서 소스코드에 입력한 함수설명(Summary)을 가져올 수 있을까요? [3]
5554농상9/2/202113101enum 원소값이 중복인 경우 출력 [4]
5553shdt...8/31/202111434제너릭을 new로 할당했는데 null인 경우가 존재하나요? [1]
5552hjsh...8/30/202112017C# 폼 - 마우스가 다른 버튼 위를 움직일 때도 폼의 페인트핸들러가 호출되는 것이 맞나요? [2]
5551하나다라마8/27/202112032뽀모도로 타이머 개선사항 [1]
5550하영8/27/202114164SqlDataReader 관련 질문입니다. [8]
5549책 감사...8/23/202116351C# 9.0 책 오타 [1]
5548Dev8/23/202113662String의 IndexOfAny 함수 질문 [3]
5547민성8/20/202112322WPF Radio 버튼을 GroupName으로 읽어와서 비교하기 [1]
5546Deve...8/19/202113310C++ C# API 연동 관련 [1]
5545영귤8/18/202112677C# 14.3장 예제에서 반환 값의 값 복사 부하가 어디서 발생하는 것인가요? [4]
5544이상호8/18/202112907C# Graphics 객체 저장 가능 여부 [2]
5543정형지8/18/202112452c# outofmemoryexception [3]
5542영귤8/11/202116476C#9.0 886쪽 오류 발생 안 해요 [2]
... [16]  17  18  19  20  21  22  23  24  25  26  27  28  29  30  ...