아웃룩 확장 프로그램.

최근에야 Office Add-Ins for Outlook이라고 해서 이름이 확정된 것으로 보이는데,

이것도 참 많은 변천이 있었다.


Office COM Add-ins 또는 VSTO Extension이라는 용어를 오래 전 맨 처음 쓰기 시작했고,

이후 Office 365가 나오면서 Office 2013 버전까지는 Apps for office라는 용어를 쓰다가

이후 Office 2016 버전 이후부터 Office Add-Ins라는 용어를 쓰기 시작했는데 중구난방이었다.

결국 마지막으로 통일된 이름은 Office Add-Ins.


그런데, Office COM Add-ins는 여전히 그 이름 그대로 존재한다. 

바로 .NET Framework(Visual Studio)와 Office 이벤트 확장 API를 이용하는 것으로,

COM 확장 DLL을 만들어 배포하는 전통적인 확장 방식은 여전히 필요하고, 유용하기 때문이다.

이후에 나온 Office Add-Ins는 이것과는 조금 다르게, XML 정의 문서로 추가기능 메뉴를 확장하고 

웹 서버와 Javascript를 통해 기능을 확장하는 방식이다.  앞의 COM API 확장에 비해 기능이 많이 제약된다.


아무튼, 지금 얘기하는 방식은 COM Add-ins 확장 방식이고,

Visual Studio를 이용하여 빌드하는 개발자 PC에서 종종 벌어지는 일에 대한 것이다.

즉, VSTO 확장 프로그램을 만들고 테스트하기 위해 게시(Publish)를 할 때 

버전을 자동으로 올릴 것인지 아니면 수동으로 고정해서 쓸 것인지를 선택할 수 있는데,

자동으로 올리게 만든 경우는 별 상관없다. 그냥 잘 된다.

마지막에 최종 배포할 때 1.0.0.125, 뭐 이런 식으로 버전이 부여되긴 하지만,

최종적으로 그것보다 더 높은 버전, 즉 1.1.0.0 처럼 올려서 배포해버리면 아무 상관없다.


문제는 수동으로 고정할 때인데,

이미 한번 게시하여 설치된 이후에 기능이 수정된 것을 같은 버전으로 재배포하려고 하면 오류가 발생한다.


Unable to install this application because an application with the same identity is already installed. To install this application, either modify the manifest version for this application or uninstall the preexisting application.


이런 오류 메시지와 함께. (프로그램 추가/제거에서 기존 설치된 VSTO 확장 프로그램을 제거한 이후에도...)

사실, 기존 버전보다 더 낮은 버전으로 설치하려고 한다면 모를까, 같은 버전인 경우에는 

좀 설치되게 해 주는 것이 맞을 것 같은데, 이런 오류를 내뱉으면서 설치를 못하는 상황이 된다.

수정하지 않고 기존 설치된 게시 버전 그대로 재설치할 때는 이런 문제가 생기지 않는다.

즉, 최종 배포한 이후 실제 사용할 클라이언트 PC에서는 별 문제가 없을 수 있다는 것.


물론, 게시할 때 게시 버전을 올려서 설치하면 잘 된다. 아무 문제 없다.

같은 버전으로 계속 유지하려고 할 때 이런 문제가 생기는데, 이를 해결할 방법은... 있다. 

인터넷에 검색해 보면 여러 가지 방법을 제시하고 있는데, 쓸 만한 정보가 별로 없다.


100% 잘 되는 방법은 아래와 같다.


1. 일단 프로그램 추가/제거에서 기존 VSTO 확장 프로그램을 제거한다.

2. (옵션) 레지스트리 다음 항목 아래에 해당 VSTO 확장 프로그램 관련 설정이 남아 있으면 다 삭제한다.

HKEY_CURRENT_USER\Software\Microsoft\VSTO\Security\Inclusion

HKEY_CURRENT_USER\Software\Microsoft\VSTO\SolutionMetadata

3. 다음 경로에서 해당 VSTO 확장 프로그램 캐시 파일들을 몽땅 다 삭제한다.

C:\Users\{사용자ID}\AppData\Local\Apps\2.0

특히 manifests 라는 폴더 안에 들어 있는 관련 파일들은 반드시 삭제해야 한다.


이렇게 하고 나면 게시 버전을 올리지 않아도 설치가 잘 된다.


끝.





Posted by 떼르미
,


자바스크립트를 허용해주세요!
Please Enable JavaScript![ Enable JavaScript ]