안녕하세요,
C#을 사용하고 Microsoft.Office.Interop.Word 어셈블리를 참조하여 개발한 프로그램이 있습니다.
어셈블리 버전 : 14.0.0.0
개발 환경 : Windows 10 (64비트), Visual Studio 2019
프로그램을 관리자 권한으로 실행되도록 구현했을 때 Word 어플리케이션 객체 생성 시 아래의 예외가 발생합니다.
(디버깅 모드에서는 발생하지 않고, 실행 파일로 프로그램 실행한 경우에 예외가 발생합니다.)
예외 메세지 :
80080005 서버 실행이 실패했습니다. (예외가 발생한 HRESULT: 0x800800005 (CO_E_SERVER_EXEC_FAILURE)) 오류로 인해 CLSID가 {000209FF-0000-0000-C000-000000000046}인 구성 요소의 COM 클래스 팩터리를 검색하지 못했습니다.
일부 코드를 첨부하였습니다.
Form1.cs
public partial class Form1 : Form
{
Microsoft.Office.Interop.Word.Application wordApp = null;
public Form1()
{
InitializeComponent();
}
private void Button1_Click(object sender, EventArgs e)
{
try
{
wordApp = new Microsoft.Office.Interop.Word.Application();
MessageBox.Show("Execute");
}
catch (Exception ex)
{
throw ex;
}
}
private void Button2_Click(object sender, EventArgs e)
{
if (wordApp != null)
{
wordApp.Quit();
wordApp = null;
MessageBox.Show("Quit");
}
}
}
app.manifest
..
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
..
C# 프로젝트의 app.manifest 파일에 requestedExecutionLevel level 값이 "requireAdministrator"이면 오류가 발생합니다.
(asInvoker로 바꾸면 오류가 발생하지 않습니다.)
Word 2019에서 오류가 발생하는 이유가 무엇인가요?
해결 방법 또한 알고 싶습니다.