DuraMap-Xr 설치자(Installer)

GIS 엔진인 DuraMap-Xr을 쉽고 간단하게 설치할 수 있는 설치 프로그램입니다. 아래의 파일을 다운로드 받아 실행해 클릭만으로 간단히 DuraMap-Xr을 설치할 수 있습니다.



좀더 자세히 설명 드리면, 먼저 설치 프로그램을 실행하면 다음과 같은 프로그램이 표시됩니다.

처음 설치할 경우 Install 버튼을 클릭해 설치하면 되고, 버전업 등과 같은 업데이트는 Update 버튼을 클릭하면 됩니다. 그리고 깨끗히 제거 하기 위해서 Remove 버튼을 클릭하면 됩니다.

이 설치자는 Windows 10 64Bits에서 정상적인 작동을 확인하였습니다. 설치나 삭제 등에서 문제가 발생할 경우에 대한 기술지원은 댓글을 이용해 주시기 바랍니다.

[C#] ActiveX 객체가 담긴 파일의 경로 얻기

ActiveX 객체는 ocx나 dll 파일에 담겨 있는데요. 이 ActiveX 객체를 등록(regsvr32.exe를 통해 직접 등록되거나 설치 파일 등을 통해 등록)될 경우 객체 ID를 통해 해당 ActiveX 파일의 전체 경로를 파악해야 할 필요가 있습니다. 이때 사용하는 함수입니다.

private static string GetFilePathOfActiveX(string comName)
{
    RegistryKey comKey = Registry.ClassesRoot.OpenSubKey(comName + "\\CLSID");
    if (comKey == null) return null;

    string clsid = (string)comKey.GetValue("");
    RegistryKey subKey = Registry.ClassesRoot.OpenSubKey("CLSID\\" + clsid + "\\LocalServer32");

    if (subKey == null) {
        subKey = Registry.ClassesRoot.OpenSubKey("CLSID\\" + clsid + "\\InprocServer32");
    }

    if (subKey == null)
    {
        subKey = Registry.ClassesRoot.OpenSubKey("WOW6432Node\\CLSID\\" + clsid + "\\InprocServer32");
    }

    if (subKey == null) return null;

    return (string)subKey.GetValue("");
}

위의 방식은 현재 Windows 10 64Bits 환경에서 작동하는 것을 확인했습니다. 다른 환경에서도 정상적으로 작동하는지 확인이 필요한데요. 혹 Win10 64Bits 환경 이외에서도 어떻게 작동하는지 댓글을 통해 언급해 주시면 좋겠습니다.

위의 함수는 아래처럼 사용할 수 있습니다.

MessageBox.Show(GetFilePathOfActiveX("XrMap.XrMapControl"));