본문 바로가기
Programming/C#

IUpdateSession

by miumida 2010. 1. 11.
MSDN에서는 IUpdateSession에 대해서 아래와 같이 간단하게 설명하고 있다.
Represents a session in which the caller can perform operations that involve updates.
호출자가 필요로 하는 업데이트 작업을 수행할 수 있는 세션을 나타냅니다.

그리고 조금더 구체적인 사항으로는 아래와 같이 MSDN에서 설명하고 있다.
IUpdateSession Interface
The IUpdateSession interface represents a session in which the caller can perform operations that involve updates. For example, this interface represents sessions in which the caller performs a search, download, installation, or uninstallation operation.

IUpdateSession 인터페이스는 호출자가 필요로하는 업데이트 작업을 수행할 수 있는 세션을 나타냅니다. 예를 들어, 이 인터페이스는 호출자는 검색, 다운로드, 설치 또는 제거 작업을 수행할 수 있는 세션을 나타냅니다.

MSDN의 설명에서 보면, IUpdateSession에서 윈도우 업데이트 검색, 다운로드, 설치 또는 제거 작업을 수행할 수 있다고 명시되어 있는 것을 알 수 있다. 물론 어떻게 해서 어떻게 해야지 검색, 다운로드, 설치 또는 제거 작업을 할 수 있다고는 설명이 안 되어있기때문에 그것에 대한 것은 또 차차 알아나가야할 것 같다.

대충 IUpdateSession 인터페이스가 어떤 역할을 하는지에 대해서는 알았으니, 어떤 Method들이 있는지 알아보도록 하자. MSDN에서는 CreateUpdateDownloader, CreateUpdateInstaller, CreateUpdateSearcher와 같이 3가지의 Method를 포함하고 있다고 한다. 그리고 아래와 같이 IDispatch 인터페이스에서 상속한다고 되어 있다.
The IUpdateSession interface inherits the methods of the IDispatch interface.
IUpdateSession 인터페이스는 IDispatch 인터페이스의 Method를 상속합니다.

이제 3가지의 Method를 한번 보도록 하자.
CreateUpdateDownloader
: Returns an IUpdateDownloader interface for this session.
  (이 세션을 위해 반환하기 위한 IUpdateDownloader 인터페이스입니다.)
CreateUpdateInstaller
: Returns an IUpdateInstaller interface for this session.
  (이 세션을 위해 반환하기 위한 IUpdateInstaller 인터페이스입니다.)
CreateUpdateSearcher
: Returns an IUpdateSearcher interface for this session.
  (이 세션을 위해 반환하기 위한 IUpdateSearcher 인터페이스입니다.)

각각의 Method들은 각각의 인터페이스에 대한 반환값을 가지게 된다. 사용법은 물론 MSDN에는 나와있지 않음으로 개념에 대한 것으로만  MSDN을 참고하는 편이 좋을 듯 싶다.

IUpdateSession을 사용하기 위해서는 어떻게 해야되는 것인가를 알아보도록 하자.
IUpdateSession session = new UpdateSessionClass();

위와 같이 선언을 해주고 생성하고서는 사용할 수 있다는 것은 다른 외국사이트를 통해서 알게 되었지만 왜 저렇게 사용되는지는 정확하게 알 수 없었다. UpdateSessionClass()로 생성이 되는 이유 또한 잘 모르겠다. 그리고UpdateSession()로 해도 프로그램은 문제없이 실행되는 것을 볼 수 있었다. UpdateSessionClass()와 UpdateSession()의 차이가 어떤 점에서 차이를 가지는 지도 알 수 있으면 좋을 것 같다는 생각이 든다. 단순히 여기에서는 이것을 써야한다라고 생각을 해서 쓰는 것도 좋지만 왜 여기서 이것을 써야하는지도 아는 것이 나중을 위해서도 더 도움이 되지 않을까 싶다.

각각의 Method의 사용에 대한 것은 다음과 같다. 물론 사용이라고 해서 여러면의 사용방법을 보여주는 것은 아니니 예제의 형식으로만 보여주는 것임을 알 수 있도록 한다.
IUpdateSearcher searcher = new session.CreateUpdateSearcher();
IUpdateDownloader downloader = new session.CreateUpdateDownloader();
IUpdateInstaller installer = new session.CresteUpdateInstaller();

물론 session은 위에서 IUpdateSession에서 선언된 변수명이다. Methode를 통하여 각각의 IUpdateSearcher, IUpdateDownloader, IUpdateInstaller을 생성할 수 있다. IUpdateSearcher, IUpdateDownloader, IUpdateInstaller에 대해서는 MSDN에서 검색을 통해 알아볼 수 있다.


다음의 링크는 MSDN에서 검색된 IUpdateSession Interface에 대한 페이지다.

영문 번역은 필자의 말도 안되는 번역실력으로 적어놓은 것이니, "난 영어를 모르겠다.", "난 영어랑 담 쌓았다." 또는 "귀찮으니깐 그냥 보자."라는 생각으로 읽어보는 일을 제외하고는 태클을 걸 목적으로 보는 것은 삼가해주길 바란다.

댓글