한글 업데이트 오류

안녕하세요? c#으로 한컴 오토메이션중 이용중입니다.

기존에는 잘 되다가 이번에 한컴 2020 업데이트 후에 에러가 나는데요
(한글 2024에서도 에러가 납니다. - Server RPC 에러)

문단테두리 변경하는 아래 코드에서 에러가 나는데 뭐가 문제일까요?
업데이트 전에는 잘 되던 코드입니다.

hwp.HAction.Run(“SelectAll”);
hwp.HAction.GetDefault(“ParagraphShape”, hwp.HParameterSet.HParaShape.HSet);
hwp.HParameterSet.HParaShape.BorderFill.BorderColorBottom = hwp.RGBColor(r, g, b);
hwp.HParameterSet.HParaShape.BorderFill.BorderColorTop = hwp.RGBColor(r, g, b);
hwp.HParameterSet.HParaShape.BorderFill.BorderColorRight = hwp.RGBColor(r, g, b);
hwp.HParameterSet.HParaShape.BorderFill.BorderCorlorLeft = hwp.RGBColor(r, g, b);
hwp.HAction.Execute(“ParagraphShape”, hwp.HParameterSet.HParaShape.HSet);
hwp.HAction.Run(“Cancel”);

위 코드만의 문제는 아닌듯 합니다.

혹시 업데이트 후에 업데이트 내용 제거할 수도 있나요?
아니면 지우고 다시 설치해야 하나요?

한컴 환경설정 2024 버전을 실행하고 환경설정 초기화를 하면
아래한글 자동화도 해당 버전(2024)으로 설정되는 줄 알았는데
(기존 2020 버전은 잘 됐던거 같아서요)

‘한컴 환경설정 초기화’ 이것만으로는 자동화가 연결이 안되는거 같네요
기존에 설치되어 있는 2020버전이 백그라운드로 실행되고 있더라구요 ㅠㅠ

2020버전의 디렉토리에서
hwp -regserver 을 관리자 권한으로 실행하고 나니까 2020 버전은 정상적으로 잘 되고 있습니다.

한글 2014, 한글 2020에서는 한컴 환경설정만으로도 아래한글 자동화가 잘 변경 됐던거 같아서
잘 되는 줄 알았었네요

hwp -regserver


2020은 위 방법으로 잘 되는거 같은데… 그래서 2024도 잘 되는 줄 알았는데
한글 2024 버전은 안되네요??

관리자 권한으로 위 명령으로 2020 버전으로 설정해서 잘 되길래
같은 방법으로 2024 버전을 실행했는데

그림과 같은 화면의 에러가 나네요…ㅠ

안녕하세요.

저희도 확인 과정에서 해당 증상이 발견되어 해결 방법을 찾아보느라 답변이 늦어지고 있네요. :sob:
해결 방법이 있는지 찾아보고 답변 남기겠습니다.
답변을 기다리실 것 같아 진행 상황만 답변으로 남겨둡니다.

감사합니다.

안녕하세요
답변이 늦어서 죄송합니다ㅠㅠ

2024 최신 버전에서 Native 언어(C++)로 개발된 프로그램은 문제 없이 동작 하지만 interop 파일을 사용하는 방식으로 개발된 닷넷 프로그램에서 문제를 확인하였습니다. 현재 수정 방법은 내부에서 검토중입니다.
해결 방법은 interop 파일을 사용하지 않는 방법으로 개발 하셔야 할 것 같습니다. ㅠㅠ
interop 파일을 사용하지 않고 dynamic 키워드를 사용하면 좋을 것 같습니다.

아래 코드는 말씀하신 코드를 dynamic으로 변경한 예제 코드인데 참고 부탁드립니다.

Type hwpType = Type.GetTypeFromProgID("HWPFrame.HwpObject.2");
dynamic hwp = Activator.CreateInstance(hwpType);
hwp.RegisterModule("FilePathCheckDLL", "FilePathCheckModule");
byte r = 255;
byte g = 0;
byte b = 0;

if (hwp.Open("c:\\테스트 파일.hwpx", "", "") == true) {
    hwp.XHwpWindows.Item(0).Visible = true;

    hwp.HAction.Run("SelectAll");
    hwp.HAction.GetDefault("ParagraphShape", hwp.HParameterSet.HParaShape.HSet);
    hwp.HParameterSet.HParaShape.BorderFill.BorderColorBottom = hwp.RGBColor(r, g, b);
    hwp.HParameterSet.HParaShape.BorderFill.BorderColorTop = hwp.RGBColor(r, g, b);
    hwp.HParameterSet.HParaShape.BorderFill.BorderColorRight = hwp.RGBColor(r, g, b);
    hwp.HParameterSet.HParaShape.BorderFill.BorderCorlorLeft = hwp.RGBColor(r, g, b);
    hwp.HAction.Execute("ParagraphShape", hwp.HParameterSet.HParaShape.HSet);
    hwp.HAction.Run("Cancel");


    MessageBox.Show("한/글 Automation 로딩테스트 성공!!!");
}

hwp.Quit();
Marshal.ReleaseComObject(hwp);

interop 파일의 자세한 설명은 COM Interop in .NET - .NET | Microsoft Learn 에서 확인하시면 좋을 것 같습니다.

네. 알겠습니다.
알려주신 방법대로 하니까 현재 에러 없이 잘 작동합니다.
감사합니다