워드 추가 기능 충돌 해결 방법: 안전 모드부터 레지스트리 정리까지 완벽 가이드

이 글의 목적은 Microsoft Word에서 발생하는 추가 기능(Add-in) 충돌 문제를 신속하고 체계적으로 진단·해결할 수 있도록, 현장에서 바로 적용 가능한 절차와 점검표, 복구 명령어, 예방 기준을 제공하는 것이다.

1. 문제 정의와 증상 분류

워드 추가 기능 충돌은 COM Add-in, VSTO, Office Web Add-in, 템플릿 기반 매크로(Add-in Template, .dotm) 등이 Word 프로세스와 상호작용하는 과정에서 로드 순서, 의존 라이브러리, 권한, 샌드박스 정책 차이로 인해 비정상 동작을 유발하는 현상이다.

대표 증상 가능 원인 우선 점검
응답 없음·지연 COM Add-in 초기화 루프, 손상된 캐시 안전 모드 부팅, COM 로드 해제
시작 시 즉시 종료 레지스트리 LoadBehavior 오류 레지스트리 값 재설정
리본 메뉴 사라짐 웹 추가 기능 정책 충돌 Office 계정·정책 확인
파일 열기 느림 템플릿/글꼴/매크로 충돌 Normal.dotm 교체
랜덤 오류 코드 VSTO 런타임·캐시 손상 VSTO 캐시 삭제
주의 : 조직 환경에서 그룹정책(GPO) 또는 MDM이 적용 중인 경우, 사용자 측 조치가 정책에 의해 되돌려질 수 있으므로 변경 전 정책 담당자와 협의해야 한다.

2. 가장 빠른 3분 진단 루틴

  1. 안전 모드 부팅 을 수행한다.
    실행 창에서 winword /safe 명령으로 시작한다. 안전 모드에서 정상 동작하면 추가 기능 가능성이 높다.
  2. 최근에 설치/업데이트된 추가 기능 을 비활성화한다.
    파일 → 옵션 → 추가 기능 → 아래의 “관리”에서 COM 추가 기능 선택 후 “이동”을 눌러 체크 해제한다.
  3. Normal.dotm 초기화 를 수행한다.
    사용자 프로필의 템플릿 폴더에서 Normal.dotm을 다른 이름으로 변경하여 재생성되도록 한다.
팁 : 증상이 사라졌다면 1개씩만 다시 활성화하여 문제 모듈을 특정해야 한다. 한 번에 여러 개를 켜면 원인 추적이 어려워진다.

3. 표준 절차: 원인 특정부터 완전 제거까지

3.1 안전 모드에서의 기본 선별

  • winword /safe 로 진입하여 리본·기능 사용 가능 여부를 확인한다.
  • 이벤트 뷰어에서 Windows 로그 → 응용 프로그램 을 열고 최근 오류의 소스가 APPCRASH, VSTO, .NET Runtime, SideBySide 인지 확인한다.
  • 파일 → 옵션 → 추가 기능에서 관리 드롭다운을 COM 추가 기능 , 템플릿 , 사용자 지정 기능 등으로 바꾸어 모두 점검한다.

3.2 COM Add-in 로드 상태와 레지스트리

COM Add-in은 레지스트리의 LoadBehavior 값으로 로드 정책을 제어한다. 일반적으로 3은 자동 로드, 2는 비활성, 0은 로드 안 함을 의미한다.

경로 의미
HKCU\Software\Microsoft\Office\Word\Addins\ {ProgID} LoadBehavior 사용자 범위 로드 설정이다.
HKLM\Software\Microsoft\Office\Word\Addins\ {ProgID} LoadBehavior 컴퓨터 범위 로드 설정이다.
HKCU\Software\Microsoft\Office\16.0\Word\Resiliency DisabledItems 자동 비활성화된 항목 목록이다.
주의 : HKLM은 관리자 권한이 필요하다. 기업 PC에서는 변경이 차단되어 있을 수 있다.

3.3 템플릿·매크로 기반 Add-in 정리

  • Normal.dotm 초기화 : 실행 창에 %appdata%\Microsoft\Templates 입력 후 Normal.dotm을 Normal.dotm.bak 로 변경한다.
  • STARTUP 폴더 점검 : 실행 창에 %appdata%\Microsoft\Word\STARTUP 입력 후 의심되는 .dot, .dotm, .wll 파일을 다른 위치로 옮긴다.

3.4 VSTO 관련 캐시와 런타임

VSTO 기반 추가 기능은 손상된 캐시로 쉽게 충돌한다. 다음 순서로 정리한다.

  1. VSTO 캐시 삭제 %LOCALAPPDATA%\Apps\2.0 폴더의 난수형 하위 폴더를 정리한다.
  2. .NET 및 ClickOnce 캐시 초기화 : 명령 프롬프트에서 rundll32 dfshim CleanOnlineAppCache 를 실행한다.
  3. Office 복구 : 제어판의 Microsoft 365/Office에서 온라인 복구를 수행한다.

3.5 Office Web Add-in 환경

  • 파일 → 계정에서 로그인 상태와 라이선스를 확인한다.
  • 엣지 WebView2 런타임이 설치되어 있는지 점검한다. 없거나 손상 시 재설치한다.
  • 조직 정책으로 차단된 경우 관리 콘솔 정책을 확인한다.

4. 명령줄·레지스트리 실무 스니펫

아래 예시는 관리자 권한 콘솔에서의 점검·복구 명령이다. 환경에 맞게 ProgID와 경로를 교체한다.

  
::
1) Word 안전 모드 즉시 실행 winword /safe
::
2) COM Add-in 로드 강제 해제(사용자 범위)
reg add "HKCU\Software\Microsoft\Office\Word\Addins\MyAddin.ProgID" /v LoadBehavior /t REG_DWORD /d 0 /f

::
3) 자동 비활성 목록 초기화(주의: 복구 후 문제 재발 가능성 점검)
reg delete "HKCU\Software\Microsoft\Office\16.0\Word\Resiliency\DisabledItems" /f

::
4) Normal.dotm 교체 자동화(백업 후 삭제)
set TEMPL=%appdata%\Microsoft\Templates
copy "%TEMPL%\Normal.dotm" "%TEMPL%\Normal.dotm.bak"
del "%TEMPL%\Normal.dotm"

::
5) STARTUP 폴더 격리
set STARTUP=%appdata%\Microsoft\Word\STARTUP
mkdir "%STARTUP%_quarantine"
move "%STARTUP%*.dot*" "%STARTUP%_quarantine"

::
6) VSTO/ClickOnce 캐시 초기화
rundll32 dfshim CleanOnlineAppCache

::
7) WebView2 런타임 버전 확인(경로 예시)
"%ProgramFiles(x86)%\Microsoft\EdgeWebView\Application\msedgewebview2.exe" --version

  

5. PowerShell로 빠른 인벤토리

  
# 현재 사용자·컴퓨터 범위 COM 추가 기능 나열 $paths = @( 'HKCU:\Software\Microsoft\Office\Word\Addins', 'HKLM:\Software\Microsoft\Office\Word\Addins', 'HKLM:\Software\WOW6432Node\Microsoft\Office\Word\Addins' ) $items = foreach($p in $paths){ if(Test-Path $p){ Get-ChildItem $p | ForEach-Object { [PSCustomObject]@{ Path = $p ProgID = $_.PSChildName LoadBehavior = (Get-ItemProperty $_.PsPath -Name LoadBehavior -ErrorAction SilentlyContinue).LoadBehavior FriendlyName = (Get-ItemProperty $_.PsPath -Name FriendlyName -ErrorAction SilentlyContinue).FriendlyName Description = (Get-ItemProperty $_.PsPath -Name Description -ErrorAction SilentlyContinue).Description } }} } $items | Sort-Object Path, ProgID | Format-Table -Auto 
  

6. 의존성·충돌 포인트 체크리스트

점검 항목 방법 합격 기준 조치
로드 시간 프로세스 생성 후 리본 표시까지 시간 측정 3초 이내 3초 초과 시 문제 Add-in 후보로 분류한다.
예외 로그 이벤트 뷰어 응용 프로그램 로그 확인 예외 0건 예외 발생 모듈의 버전 업데이트 또는 제거를 수행한다.
리본 무응답 리본 클릭 후 UI 스레드 응답 확인 100ms 이내 스레드 블로킹 API 호출이 있는 Add-in을 비활성화한다.
파일 열기 지연 샘플 .docx 50개 일괄 오픈 평균 1초 이내 템플릿·글꼴 Add-in 제거를 우선 시도한다.
정상 종료 프로세스 종료 후 잔류 핸들 확인 핸들 누수 없음 문제 Add-in의 종료 이벤트 핸들러 점검이 필요하다.

7. 완전 제거 시나리오

7.1 Office 관리자용 배포 제거

추가 기능이 MSI 또는 ClickOnce로 배포된 경우 프로그램 추가/제거에서 제거한다. 제거 후 남아 있는 레지스트리 키와 캐시를 수동 정리한다.

7.2 수동 레지스트리·파일 정리

  1. 레지스트리에서 해당 ProgID의 HKCU , HKLM 키를 삭제한다.
  2. %ProgramFiles% , %ProgramFiles(x86)% , %APPDATA% , %LOCALAPPDATA% 내 공급사 폴더 잔여 파일을 삭제한다.
  3. VSTO인 경우 %LOCALAPPDATA%\Apps\2.0 캐시 폴더를 정리한다.
주의 : 잔여 COM 등록 정보가 남으면 Word 시작 시 매번 로딩 오류가 발생한다. regsvr32 /u 로 DLL 등록 해제를 수행해야 할 수 있다.

8. 재발 방지 설정

  • 단계적 배포 : 파일럿 그룹에서 1~2주 안정성 검증 후 전체 배포를 진행한다.
  • 버전 고정 : Office 및 Add-in의 호환 가능한 조합을 문서화하고 버전 고정 정책을 운영한다.
  • 권한 최소화 : 관리자 범위(HKLM) 설치는 불가피할 때만 사용한다.
  • 모듈 격리 : 가능하면 웹 추가 기능을 우선 사용하고, 네이티브 COM은 최소화한다.
  • 기록 유지 : 변경 이력, 이벤트 로그, 덤프 파일을 표준 위치에 보관한다.

9. 케이스별 빠른 해결 레시피

9.1 시작하자마자 종료되는 경우

  1. 안전 모드 진입 후 COM 추가 기능 전부 해제한다.
  2. 아래 레지스트리로 자동 로드를 차단한다.
  
reg add "HKCU\Software\Microsoft\Office\Word\Addins\ProblemAddin" /v LoadBehavior /t REG_DWORD /d 0 /f reg add "HKLM\Software\Microsoft\Office\Word\Addins\ProblemAddin" /v LoadBehavior /t REG_DWORD /d 0 /f 
  

9.2 리본 사라짐·버튼 회색 처리

  • 조직 계정으로 재로그인한다.
  • 웹 추가 기능은 Office 스토어에서 다시 추가한다.
  • WebView2 재설치 후 캐시 폴더 %LOCALAPPDATA%\Microsoft\Edge\User Data 를 초기화한다.

9.3 파일 열기 지연·응답 없음

  • Normal.dotm 교체 및 STARTUP 폴더 비우기를 우선 시행한다.
  • 글꼴 관리자 또는 DLP·보안 에이전트 Add-in과의 상호작용을 확인한다.

10. 현장 점검용 요약 체크리스트

  
[ ] winword /safe로 정상 실행되는가 [ ] 파일 → 옵션 → 추가 기능에서 COM/템플릿/웹 항목을 유형별로 분류했는가 [ ] Normal.dotm을 교체했는가 [ ] STARTUP 폴더를 격리했는가 [ ] 레지스트리 LoadBehavior 값을 0으로 내렸는가 [ ] Resiliency\DisabledItems를 초기화했는가 [ ] VSTO/ClickOnce 캐시를 삭제했는가 [ ] WebView2 상태를 점검했는가 [ ] 이벤트 로그로 문제 모듈을 특정했는가 [ ] 제거 후 잔여 DLL 등록을 해제했는가 
  

FAQ

안전 모드에서도 비정상이라면 무엇을 우선 확인해야 하나?

Office 자체 손상 가능성이 높다. 온라인 복구를 먼저 수행하고, 사용자 프로필 손상을 의심해 새 프로필에서 검증한다.

Resiliency의 DisabledItems를 지우면 어떤 영향이 있나?

자동으로 차단된 항목 기록이 사라져 일부 문제가 재발할 수 있다. 지우기 전 문제 원인을 특정하고 최신 버전으로 교체하는 것이 바람직하다.

회사에서 특정 Add-in이 필수인데 충돌한다. 어떻게 운용하나?

해당 버전을 고정하고 Office 업데이트 채널을 일시적으로 늦춘다. 충돌 완화 레지스트리·정책을 공급사 권고안대로 적용한다.

VSTO와 COM 중 어떤 방식이 더 안전한가?

시나리오에 따라 다르다. 배포·격리·업데이트 용이성을 중시하면 VSTO가, 레거시 통합이 필요하면 COM이 유리하다. 가능하면 웹 추가 기능으로 대체한다.

Normal.dotm을 삭제했는데 사용자 서식이 사라졌다. 복구 가능한가?
Normal.dotm을 삭제했는데 사용자 서식이 사라졌다. 복구 가능한가?

삭제 전 .bak로 백업했다면 교체로 복구 가능하다. 백업이 없다면 조직 표준 템플릿에서 필요한 서식만 재구성한다.