OFFICE WORD, EXCEL… ADDIN + InstallShield, Setup File Make

jelly
7 min readApr 3, 2019

--

MS OFFICE 의 WORD, EXCEL, OUTLOOK 등은 기본적으로 제공하는 기능 이외의 기능을 개발하여 Plugin 형태로 추가 기능을 사용 할수 있다.이런 Plugin 기능을 OFFICE Addin 이라고 한다.

OFFICE WORD, EXCEL 등의 ADDIN 을 개발하는 것은 Visual Studio 를 이용하여 만들면 되는데, 만드는것은 생각외로 쉽다. C# 으로 개발을 했던 사람이라면 아래의 영상을 보면 아주 쉽게 따라 할 수 있을 것이다. 물론 원하는 기능을 개발하기 위해서는 MSDN 의 도움이 절실하겟지만 말이다!

위의 영상처럼 OFFICE WORD, EXCEL 등의 ADDIN 을 개발하고 나면 어떻게 사용자들에게 배포를 할 것인지를 고민하게 된다.

OFFICE WORD, EXCEL 등의 ADDIN 을 어떻게 배포할 것인가?

  1. VSTO 파일을 배포할까?
  2. SETUP 파일을 만들어서 배포할까?

가장 쉬운 것을 1번 처럼 VSTO 파일을 압축해서 사용자에게 주고 VSTO 파일을 더블 클릭해서 ADDIN 을 설치하라고 하거나 OFFICE 의 Addin 폴더에 vsto 파일을 카피해서 넣으라고 하면 된다.

하지만, 이렇게 사용자에게 가이드를 주는것은 다양한 문제를 발생 시킬 가능성이 높다. 항상 사용자는 예상치 못한 방법으로 문제를 발생시킨다.

이를 해결하기 위해서 InstallShield 와 같은 Packaging 도구로 SETUP 파일을 만들어 배포하는 것이다.

[SETUP 파일로 PACKAGING 방법]

  1. Visual Studio 의 Solution 에서 Add -> New Project -> Setup and Deployment 를 선택하여 InstallShield Limited Edition Project 를 선택한다.

InstallShield 가 설치 되어 있지 않다면 InstallShield 사이트로 이동하여 설치하라는 메세지가 나온다. InstallShield 는 무료로 사용이 가능하니 사이트에서 정보를 입력하고 설치 파일을 받고 정보 입력시 나온 KEY 로 인증하면 된다.

2. Setup and Deployment 로 프로젝트를 생성하면 아래오 같은 화면이 나타납니다. Setup 파일을 만드는것은 Wizard 방식으로 아래의 빨간 박스 부분을 이동하면서 설정 하면 끝납니다.

3. Application Information 설정은 아래와 같습니다. 회사와 어플리케이션 이름을 입력하는 단순한 화면입니다. 여기서 주의할 것은 회사 명과 어플리케이션 이름이 프로그램 설치시 사용 된다는 것입니다. 여기서는 한글을 쓰면 에러가 납니다!

즉, 설치 파일 경로는 c:\Programs\회사\어플리케이션 이렇게 됩니다. (여기서는 한글을 쓰면 에러가 납니다!)

4. Installation Requirements 설정은 아래와 같이 내가 만든 프로그램이 어떤 환경에서 돌아갈수 있는지를 설정하는 부분입니다. 내가 개발한 환경, 테스트한 환경을 체크하면 됩니다.

5. Application Files 설정은 프로젝트를 Build 후 생성된 Release 파일들을 My Product Name 아래에 넣어주면 됩니다.

6. Application Shortcuts 설정은 바로가기 아이콘을 설정하는 부분으로 OFFICE ADDIN 을 배포할때는 설정 할 필요가 없습니다.

7. Application Registry 설정은 설치시 Registry 에 등록하는 설정을 정의하는 부분입니다. 이 설정은 HKEY_CURRENT_USER\Software\Microsoft\Office\Excel\Addins\SampleCompany.ExcelAddIn 위치를 폴더를 생성하는 것처럼 만든 후 FriendlyName, LoadBehavior, Manifest 값을 설정하면 됩니다.

FriendlyName 은 OFFICE ADDIN 의 이름, LoadBehavior 는 OFFICE 가 로딩될때 어떤 동작을 수행 하는지, Manifest 는 설치 폴더의 VSTO 파일 위치와 VSTO 파일의 동작 옵션을 지정하는 부분입니다.

FriendlyName : SampleCompany 
==> OFFICE ADDIN 이름
LoadBehavior : 3
==> 실행될때 로딩
Manifest : file:///[INSTALLDIR]WordAddIn.vsto|vstolocal
==> VSTO(OFFICE ADDIN) 파일 위치, VSTO 옵션

Manifest 에 입력한 [INSTALLDIR] 은 InstallShield 로 설치되는 INSTALLDIR 에 매핑되는 속성 값입니다. 이것을 이용해서 SETUP 파일로 설치된 VSTO 의 위치를 지정합니다.

|vstolocal 옵션은 VSTO 파일을 SETUP 파일로 인스톨된 폴더에서만 로딩 하라는 옵션으로 캐시에서 한번더 로딩되어 OFFICE WORD, EXCEL 등의ADDIN 이 중복 설치 되지 않도록 해주는 옵션입니다. 이 옵션을 빼면 OFFICE WORD, EXCEL 등의 ADDIN PANEL 이 중복해서 나타나는 문제가 생길 수 있습니다.

8. Installation Interview 설정은 어떤 라이센스 문구를 보여줄 것인지, 설치 위치를 바꿀것인지 등에 관한 부분으로 User License Agreement 설정만 변경 하면 됩니다.

9. 1~8번 까지대로 설정이 다 하고 프로젝트를 Build 하면 “Setup 프로젝트 \Setup1\Express\SingleImage\DiskImages\DISK1” 아래에 setup.exe 파일이 생성됩니다.

이렇게 생성된 파일을 사용자에게 배포하면 됩니다.

InstallShield 를 이용하면 Visual Studio 에서 개발한 다양한 프로그램을 아주 쉽게 배포 할 수 있습니다. OFFICE WORD, EXCEL 등의 ADDIN 이외의 것들에도 적용이 가능하니 한번 사용해보시면 좋겠습니다.

--

--

jelly
jelly

Written by jelly

Test Eng? Test Devloper? Devloper?

No responses yet