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]

[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5968orion4/30/2025385winform DataSet.xsd의 암호화 된 ConnectionString 사용 질문 [2]
5966GM B4/30/2025523C#과 python 연동 질문 [1]
5962SunN...4/21/2025633Contextmenu margin 조절 [1]파일 다운로드2
5961GM B4/10/2025989winform => wpf 마이그레이션 방법 질문 [4]파일 다운로드1
5960Kim ...4/9/20251264안녕하세요.. 혹 AI & C# 에 대해서도 다루시나요? [1]
5959vict...2/10/20251924비주얼 스투디오 CLR 코드 탑색 질문입니다. [1]
5958Supe...1/18/20252958C#으로 DLL을 만들때 WebVeiw2을 이용하여 Vb6에서 사용할수 있는지 문의드립니다. [2]
5956fc1/11/20252929한국투자증권 KIS Developers OpenAPI의 C# 래퍼 버전 - eFriendOpenAPI NuGet 패키지 [1]
5955tree...11/8/20244547C#12 책 179 페이지 문의 사항 [2]
5954SunN...10/10/20245010textbox에서 글자입력후 textBox1_KeyUp함수에서listBox1_SelectedIndexChanged 강제호출방법 [1]
5953Roya10/4/20245036c# com host dll을 c++에서 사용할 때, sdk 관련 runtime 을 설치 안하고 제공할수 있을까요?? [1]
5952우광현9/5/20246136서버용 소켓 포트 동적포트 적용시 클라이언트가 호출하는 방법? [2]
5951Kun ...8/21/20245713c++에서 복합데이터 Struct를 .NET Framework에서 구현할 수 있는 방법이 있을까요? [2]
5950SunN...8/18/20246286정석대로 한다면 response.Close() 해야되는지요? [4]
5949SunN...8/16/20246401SqlConnection Open()에서 에러가나면 Close()하는 시점 [3]
5948SunN...8/14/20246261WebRequestMethods.Ftp.MakeDirectory 해제 [3]
5947Roya8/7/20247008c# dll을 cpp lib에서 사용을 할려고 하는데요. CoCreateInstance 에서 지정된 파일을 찾을수 없다고 나오는대요. [4]
5946SunN...8/5/20247134TaskDefinition 에서 사용저가로그온상관없이실행 [3]파일 다운로드1
5945SunN...8/3/20247033윈도우 작업스케줄러 [1]
5944roya8/1/20246966C# dll을 C++ 프로젝트에서 사용을 하고 싶은데, 레지스트리 등록 없이 가능한걸까요?? [2]
5943SunN...8/1/20246845윈도우C#에서 리눅스FTP로 업로드 및 리눅스에 폴더생성(WindowsOS에서C#으로) [3]
5942vict...7/24/20246855dll 을 c#에서 쓰고 싶습니다 [1]
5941vict...7/17/20248406DependencyObject와 같은 스레드에서 DependencySource를 만들어야 합니다. 오류 [2]
5940ckm7/16/20248816선생님 안녕하세요 async await 교착 관련 질문입니다 [1]
5939괴물신인7/9/20248516템플릿 대체할수있는방법이 있을까요? [6]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...