- 공유 링크 만들기
- X
- 이메일
- 기타 앱
- 공유 링크 만들기
- X
- 이메일
- 기타 앱
이 글의 목적은 조직 내에서 Microsoft Office가 여러 버전으로 공존하는 환경(Side-by-Side, 이하 SxS)에서 발생하는 충돌을 체계적으로 진단하고 안전하게 해결·표준화하는 실무 절차를 제공하는 것이다.
왜 Office SxS 환경에서 충돌이 발생하는가
Office는 동일한 파일 연결, 공용 COM 구성요소, MAPI 프로필, VBA 공용 라이브러리, 업데이트 채널, 32/64비트 아키텍처, 설치 기술(Click-to-Run과 MSI) 등 다수의 공유 자원을 사용한다. 서로 다른 버전이 동시에 설치되면 이러한 자원에 대한 우선순위와 레지스트리 바인딩이 충돌하여 실행 오류나 예기치 않은 다운그레이드가 발생한다. 대표 증상은 다음과 같다.
- Word·Excel이 번갈아 다른 버전으로 실행되거나, 파일 더블클릭 시 열리지 않는 현상이 발생한다.
- Outlook 시작 시 프로필 손상, MAPI 오류, 추가 기능 로드 실패가 발생한다.
- Visio·Project 등 개별 제품이 Office 스위트와 다른 버전으로 깔려 기능 충돌이 발생한다.
- 서명 모듈, OLE 연결, 파일 연결(예: .docx, .xlsm) 우선순위가 임의 변경된다.
- 업데이트 후 재부팅 시 이전 버전 복원 또는 “구성 중” 무한 반복이 발생한다.
주의 : 32비트와 64비트 Office는 동일 PC에서 공존 설치를 지원하지 않는다. 혼재 시 충돌 확률이 급증하며, 설치 자체가 차단되거나 강제 제거가 발생한다.
SxS 충돌 유형과 핵심 원인 매트릭스
| 유형 | 주된 원인 | 주요 증상 | 리스크 |
|---|---|---|---|
| 설치 기술 혼재 | Click-to-Run과 MSI 동시 존재 | 업데이트 실패, 자동 제거, 실행 버전 랜덤화 | 높음 |
| 아키텍처 혼재 | x86과 x64 동시 설치 시도 | 설치 차단 또는 일부 앱만 실행 | 매우 높음 |
| 버전 불일치 | 스위트와 개별 앱(Visio/Project) 버전 상이 | 파일 연결 전환, COM 로드 실패 | 중간~높음 |
| 업데이트 채널 충돌 | 반기/월간/미리보기 채널 혼재 | 기능 불일치, 매크로 호환성 저하 | 중간 |
| 공유 구성요소 버전 경합 | VSTO, OLE, Office 공용 DLL 다중 등록 | 추가 기능 로드 실패, 시작 지연 | 높음 |
사전 개념 정리: 설치 기술·채널·아키텍처
- 설치 기술은 Click-to-Run(스트리밍 기반)과 MSI(기존 설치 관리자)로 구분한다. 동일 PC에서 두 기술을 섞으면 관리자가 의도하지 않은 제거 또는 차단이 발생한다.
- 업데이트 채널은 기능 제공 시점을 규정한다. 동일 부서 내 채널 혼재는 SxS만큼의 충돌을 만들지 않지만, 테스트·교육·지원 비용을 높인다.
- 아키텍처는 x86과 x64로 나뉜다. 성능·메모리 측면에서 x64가 유리하나, 레거시 32비트 추가 기능 호환성은 사전에 검증해야 한다.
SxS 충돌 빠른 진단 체크리스트
- 제어판의 프로그램 목록과 앱 설정에서 Office 관련 항목을 스냅샷으로 기록한다.
- 각 앱에서 파일 > 계정 > 정보 메뉴의 “정보” 또는 “About” 대화상자를 열어 설치 기술과 버전을 확인한다.
- 레지스트리의 Click-to-Run 존재 여부를 점검한다.
- Outlook의 프로필 개수와 MAPI 공급자 등록 상태를 확인한다.
- VSTO 추가 기능, COM 추가 기능의 로드 상태를 조사한다.
rem 설치 기술 확인(요약) reg query "HKLM\SOFTWARE\Microsoft\Office\ClickToRun" /s reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s /f "Office" 주의 : WMI의 Win32_Product 쿼리는 제품 재구성을 유발할 수 있다. 횟수와 영향이 커서 사용을 권장하지 않는다.
레지스트리·파일 기준의 정밀 조사 포인트
HKLM\SOFTWARE\Microsoft\Office\ClickToRun하위의Configuration값을 확인하여 제품군, 채널, 버전을 파악한다.HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall및HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall에서 “Office”, “Visio”, “Project” 항목을 확인한다.%ProgramFiles%\Microsoft Office,%ProgramFiles(x86)%\Microsoft Office,C:\Program Files\Common Files\microsoft shared하위 중복 폴더를 확인한다.- Outlook은
HKCU\Software\Microsoft\Office\XX.0\Outlook\Profiles에서 프로필 수와 기본값을 확인한다.
현상별 즉시 대응 요약
| 증상 | 원인 가설 | 권장 조치 |
|---|---|---|
| 더블클릭 시 틀린 버전으로 열림 | 파일 연결 전환 또는 최종 설치된 버전이 연결 우선 | 기본 앱 연결을 재설정하고, 필요 시 officec2rclient.exe /updatepromptuser 실행 후 앱 내 “기본 프로그램” 등록을 재설정한다. |
| Outlook 시작 오류·추가 기능 미로드 | COM 등록 충돌, SxS 버전 불일치 | 안전 모드(outlook.exe /safe)로 부팅 후 문제 추가 기능 비활성화, 프로필 재생성, SxS 해소 후 로드 재검증을 진행한다. |
| 업데이트 후 구버전으로 회귀 | MSI·C2R 혼재 또는 복수 채널 | 설치 기술 및 채널 단일화, 구성 XML로 재배포하여 버전 고정 또는 채널 통일을 수행한다. |
| Visio·Project만 다른 버전 | 스위트와 개별 앱의 채널·버전 상이 | 같은 설치 기술·아키텍처·채널로 재배포한다. 필요 시 기존 제품 완전 제거 후 설치한다. |
근본 해결 원칙: 표준화 3요소
- 설치 기술 단일화를 우선한다. 조직 표준은 Click-to-Run 기반 단일화가 운영상 유리하다.
- 아키텍처 단일화를 다음으로 한다. 64비트를 기본으로 하되, 필수 32비트 추가 기능이 있을 경우 예외 정책을 운영한다.
- 채널·버전 통일을 병행한다. 배포 파이프라인에서 릴리스 채널을 정책으로 강제한다.
주의 : 동일 PC에서 Office 스위트 두 개 버전을 장기 공존하도록 운영하는 전략은 비권장이다. 테스트 목적의 단기 공존만 허용하고, 업무 단말은 표준 이미지로 회수·재배포한다.
표준 배포·제거 시나리오
시나리오 A: C2R 단일화로 마이그레이션
- 인벤토리 수집 도구로 Office 설치 현황을 수집한다.
- 문제 단말을 분류한다. MSI 존재, 아키텍처 혼재, 개별 앱 버전 불일치 등으로 그룹화한다.
- 테스트 링에서 표준 구성 XML을 검증한다.
- 기존 MSI 제거와 C2R 설치를 한 번의 작업으로 수행한다.
- 자동 업데이트 채널을 정책으로 고정한다.
<Configuration> <Add OfficeClientEdition="64" Channel="Current"> <Product ID="O365ProPlusRetail"> <Language ID="ko-kr" /> </Product> </Add> <RemoveMSI /> <Display Level="None" AcceptEULA="TRUE" /> <Property Name="FORCEAPPSHUTDOWN" Value="TRUE" /> <Property Name="SharedComputerLicensing" Value="0" /> </Configuration> 주의 :
<RemoveMSI />는 기존 MSI Office 제품을 자동 제거한다. Project·Visio의 보존 여부는 운영 정책에 따라 별도 관리한다.시나리오 B: Visio·Project 버전 정합화
- 스위트와 동일한 설치 기술·아키텍처로 맞춘다.
- 동일 채널에 맞추어 배포한다.
- 기존 상이 버전은 완전 제거 후 재설치한다.
<Configuration> <Add OfficeClientEdition="64" Channel="Current"> <Product ID="VisioProRetail"> <Language ID="ko-kr" /> </Product> </Add> <Display Level="None" AcceptEULA="TRUE" /> </Configuration> 시나리오 C: 테스트용 SxS 단기 공존
- 테스트 전용 이미지에서만 허용한다.
- 파일 연결과 기본 앱을 테스트 버전으로 고정한다.
- Outlook은 단일 버전만 상주시키고, 다른 버전은 설치 제외한다.
- 테스트 종료 즉시 표준 이미지로 롤백한다.
추가 기능(VSTO) 및 COM 충돌 최소화 전략
- VSTO는 각 버전에 종속되는 경우가 많다. 배포 시 대상 Office 메이저 버전을 명시적으로 지원하도록 요구한다.
- COM 추가 기능은 등록된 CLSID가 버전에 따라 상이하다. 중앙에서 허용 목록을 운영하고, 비인가 추가 기능은 정책으로 차단한다.
- Outlook 추가 기능은 지연 로드 설정을 권장하되 성능 기준을 통과하지 못하면 자동 비활성화를 허용한다.
PowerShell 기반 점검 자동화 예시
# Office 설치 요약 수집 $uninstPaths = @( "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", "HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall" ) $apps = foreach($p in $uninstPaths){ Get-ChildItem $p | ForEach-Object { $d = Get-ItemProperty $_.PsPath if($d.DisplayName -match "Office|Visio|Project"){ [PSCustomObject]@{ Name = $d.DisplayName Version = $d.DisplayVersion InstallDate = $d.InstallDate Publisher = $d.Publisher Arch = (if($_.PsPath -match "WOW6432Node"){"x86"}else{"x64"}) } } } } $apps | Sort-Object Name, Version | Format-Table -Auto
Click-to-Run 여부
$c2r = "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration"
if(Test-Path $c2r){
Get-ItemProperty $c2r | Select-Object ProductReleaseIds, Platform, UpdateChannel, VersionToReport
}
파일 연결·기본 앱 재설정 절차
- Windows 기본 앱에서 Word/Excel/PowerPoint를 원하는 버전으로 지정한다.
- Office 앱을 관리자 권한으로 1회 실행하여 내부 등록 절차를 완료한다.
- 필요 시 다음 명령으로 복구 설치를 수행한다.
officec2rclient.exe /updatepromptuser officec2rclient.exe /repairpromptuser 주의 : 복구는 사용자 환경에 따라 데이터 용량을 소모하고 재부팅을 유발할 수 있다. 업무 중단 창을 확보한 뒤 실행한다.
Outlook 전용 유의사항
- Outlook은 단일 버전만 유지하는 것이 안전하다. SxS 환경에서는 다른 앱과 달리 충돌 민감도가 높다.
- 프로필은
outlook.exe /profiles로 선택 시작하여 문제 발생 시 새 프로필을 기본으로 지정한다. - MAPI 연동 애드인, 보안 솔루션, 암호화 모듈은 버전·아키텍처를 엄격히 맞춘다.
배포 표준안 템플릿
| 정책 항목 | 기준 | 비고 |
|---|---|---|
| 설치 기술 | Click-to-Run 단일화 | MSI 잔존 시 자동 제거 |
| 아키텍처 | 64비트 기본 | 예외는 승인 후 목록화 |
| 업데이트 채널 | 조직 지정 채널 고정 | 파일럿 링 별도 운영 |
| Visio/Project | 스위트와 동일 기술·채널 | 혼재 금지 |
| 추가 기능 | 허용 목록 기반 | VSTO 호환성 사전 검증 |
| 테스트 장비 | 격리 이미지 사용 | SxS 단기 허용 |
| 복구 절차 | 표준 스크립트 운영 | 오프라인 패키지 확보 |
운영 관점 베스트 프랙티스
- 이미지·패키지·정책을 코드로 관리하여 배포 이력을 재현 가능하게 유지한다.
- 취약성 공지와 릴리스 노트를 기반으로 채널 업데이트 시 리스크 평가를 거친다.
- 반드시 사용자 파일의 자동 저장과 버전 기록을 켜고, 배포 전후 복구 지침을 공지한다.
- SxS를 요구하는 부서에는 가상화 앱 또는 테스트 전용 VDI를 제공한다.
문제 재발 방지 점검표
| 항목 | 점검 방법 | 주기 | 통과 기준 |
|---|---|---|---|
| MSI 잔존 여부 | 레지스트리·프로그램 목록 확인 | 분기 1회 | 모든 단말 0건 |
| 아키텍처 일치 | 인벤토리 스캔 | 월 1회 | x64 95% 이상 |
| 채널 일관성 | ODT 보고서·GPO 점검 | 월 1회 | 표준 채널 100% |
| 추가 기능 승인 상태 | 허용 목록 대조 | 분기 1회 | 미승인 0건 |
| Outlook 프로필 오류 | 헬프데스크 티켓 모니터링 | 상시 | 전월 대비 감소 |
FAQ
서로 다른 두 버전의 Excel을 업무용으로 장기 공존시켜도 되는가
권장하지 않는다. 단기 테스트 외에는 파일 연결·추가 기능·VBA 호환성 문제로 운영 리스크가 높기 때문이다. 운영 단말은 단일 표준 버전으로 통일하는 것이 원칙이다.
Visio 또는 Project만 구버전을 유지하려면 어떻게 해야 하는가
스위트와 동일한 설치 기술·아키텍처·채널로 맞춘 뒤 버전 정합성을 확보해야 한다. 정합성이 맞지 않는 경우 구버전을 완전히 제거하고 표준 버전으로 재배포한다.
Outlook만 예외적으로 다른 버전을 쓰면 되는가
Outlook은 충돌 민감도가 가장 높아 예외를 허용하지 않는다. 조직 표준 버전 단일화를 유지해야 한다.
사용자 데이터 손실 없이 교체할 수 있는가
가능하다. 사전 공지와 자동 저장 설정, OST·PST 백업, 템플릿·서식 파일 보존 정책을 적용하면 된다.
SxS 환경에서 파일 연결이 계속 바뀌는 이유는 무엇인가
마지막으로 설치·복구된 제품이 연결 우선권을 가져가거나 사용자 범위 설치가 우선 등록되기 때문이다. 표준 버전으로 복구 설치 후 기본 앱을 고정해야 한다.
- 공유 링크 만들기
- X
- 이메일
- 기타 앱