본문 바로가기
프로그래밍/C#

[C#] regsvr32.exe를 이용하여 DLL, OCX 등록 및 삭제하기

by tempus 2021. 11. 3.
반응형

regsvr32는 Windows에서 사용할 수 있는 명령 줄 도구입니다. DLL 파일 및 ActiveX 컨트롤, OCX파일과 같은 개체 연결 및 포함(OLE) 컨트롤을 등록하고 취소하는 데 사용합니다.

 

regsvr32가 DLL 파일을 등록하면 관련 프로그램 파일에 대한 정보가 Windows 레지스트리에 추가됩니다. 이 때 다른 프로그램이 레지스트리에서 액세스 하여 프로그램 데이터의 위치와 상호 작용 방법을 이해할 수 있는 참조할 수 있게 해 줍니다. 일반적으로 cmd창을 관리자 권한으로 열어서 파일이 있는 위치로 이동한 뒤 다음과 같이 사용할 수 있습니다.

 

  • 등록 : regsvr32 myfile.dll
  • 등록 취소 : regsvr32 /u myfile.dll

C#에서는 다음과 같이 사용할 수 있습니다.

//레지스트리 등록        
public static void RegisterDLL(string filename)
{
    using (var process = new Process())
    {
        process.StartInfo.FileName = "regsvr32.exe";
        process.StartInfo.Arguments = "/s \"" + filename + "\"";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.CreateNoWindow = true;
        process.StartInfo.RedirectStandardOutput = true;
        if (6 <= Environment.OSVersion.Version.Major) process.StartInfo.Verb = "runas";
        process.Start();
        process.WaitForExit();
        process.Close();
    }
}

//레지스트리 등록 해제
public static void UnRegisterDLL(string filename)
{
    using (var process = new Process())
    {
        process.StartInfo.FileName = "regsvr32.exe";
        process.StartInfo.Arguments = "/s /u \"" + filename + "\"";
        process.StartInfo.UseShellExecute = false;
        process.StartInfo.CreateNoWindow = true;
        process.StartInfo.RedirectStandardOutput = true;
        if (6 <= Environment.OSVersion.Version.Major) process.StartInfo.Verb = "runas";
        process.Start();
        process.WaitForExit();
        process.Close();
    }
}

 

반응형

댓글


loading