PROGRAMMING WORKSHOP

VSTO|
소루션의 배포(Deploy Solution)

이 페이지는 앞에서 관련 페이지에서 설명한 부분과 중복이
되겠지만.. 좀더 상세히 설명해 달라는 메일이 있어서
배포부분에 대하여 이야기를 더 전개 해보록 한다

VSTO로 오피스소루션, 엑셀소루션을 만드는 것은 VBA를 알고 있다면
VSTO의 .Net FrameWork의 개발환경에서 COM 프로그램의 각 개체를
어떻게 접근하느냐를 알면 나머지는 모두
엑셀이나 워드등을 VBA로 무언가 만들어 보았다면 하나도 어려울 것이 없다
그런데 배포방식이 낯섫어서 몇번의 난관을 극복해야 하는 까다롭고
짜증스러운 것들이 있다
역시 실은 알고 보면 모두 이유가 있는 짜증스러운 절차들인 것이다

엑셀과 VBA로만 만든 것은 그냥 만들어서 사용자에게 나누어주면 된다
그런데 VB.Net환경에서 VSTO템프릿으로 작성한 것을 배포할때는
참으로 낯섫고 개념이 다르다

VSTO소루션은
1,웹써버에서 사용자가 다운 받으면서 설치되는 경우
2,사내네트워크 중앙써버에서 다운 받으면 설치되는 경우
3,관련화일을 usb나 cd에 넣어서 배포설치는 경우
1과 2는 자동버전관리가 되면서, 업데이팅이 된다
만약 개발자가 다음 버전을 웹써버나, 화일써버에 올리면
사용자는 처음 버전을 한번만 설치하면 이후버전은 자동으로
(설정한 옵션의 갱신인터벌에 따라서)
갱신된다는 점이 3번과 다르다

일반사용자의 경우는 1번과 2번은 별 볼일 없는 것이고
3번이 궁금한 것이다

모든 것은 Publish(게시)버튼을 크릭하면
Publish폴더 내에 배포를 하기 위한 모든 화일이 자동생성된다
이것을 배포하면 되는 것인데..
1,2번은 배포(Deploy),설치(Install)위치를 개발자가 지정한 곳에
자동생성되는 것이다

3번의 경우에는 어떻게 하는지 보도록 한다

***[LOG-IN]***


1번과 2번의 경우는 설치경로를 Publish(게시)하기전에
입력하여 주게 되고 이곳에서 항상 다운 받게 되는 것이고
이곳에 새로운 버전업된 것을 올려 놓으면
엑셀화일이 어디에서 다운 받았는지 항상 기억하고 있어
(실은 이런 것을 .Net Framwork에서 알아서 한다)
다운 받은 곳의 Root디렉토리에 있는 VSTO를 항상 확인하는 것이다
이 VSTO는 현재 버전이 몇번째 홀더에 있는지를 기억하는 것이고
그래서 해당홀더의 새로운 DLL화일을 다운 받아서 엑셀이 새로운
버전으로 되는 것이다
실은 dll.deploy와 같이 dll뒤에 또 다른 확장자 deploy는 다운 되면서
deploy라는 확장자명은 사라지고 dll화일로서 역할을 하게 되는 것이다
또한 이 dll화일은 .Net Framework 에서 사용자가 알수없는 곳에
숨기는 것이고..
그러니 보안문제에 철저를 기하는 셈이다
1번과 2번의 경우 하나의 소루션을 다운 받아서
해당 되는 컴퓨터에서 밖에 사용을 하지 못하니..
불법복제하여 돌아다니는 일은 없게 되는 셈이다
그러나 3번의 경우는 배포된 화일에 특정한 설치경로가 없이
설치하는 곳에서의 상대경로이니..별 문제 없이 복제하여 돌아다닐수 있는 것이고..

좀 까다로와 보이는 것은 몇번의 시행착오를 거쳐야 하니까..
해보시고 성공하시기 바란다