EDPA.exe 가 머여 도대체! (Symantec Endpoint Protection 강제 제거)

프로젝트를 하다보면 이 회사 저회사 많이 돌아다니다 보니 내부보안이 강력한 회사들 때문에 알 수 없는것들을 많이 설치하게 된다.
바이러스, DRM 등 많은 것들을 설치하게 되는데 이번 경우도 이 중에 하나였던거 같다.

사실  Symantec 클라이언트는  아주 오래전에 제거 했던것 같은데, 이제서야 알게되다니...
어쩌면 WPF 프로젝트 솔루션을 띄우지 않았다면 몰랐을지도 모른다.

대충 환경은 이렇다.

Visual Studio 2015 express 
WPF 프로젝트 솔루션(프로젝트가 약25개 포함된)

패러럴즈 VM 을 통해 개발을 해온지라 왠만해선 성능의 문제가 없는데, 이놈의 VS 가 자주 먹통이 된다.
짜증나서 성능을 보는데 왠 EDPA.EXE 가 메모리를 엄청 먹고 있다.

대충 검색해보니 'Symantec Endpoint Protection' 라는데,

이걸 지워볼려고 또 구글링 해보니 다행이 아래와 같은 방법이!


헌데 내경우엔 이것도 비번이 걸려있어 불가능 ㅠㅠ

해서 걍 과감하게 아래와 같이 해보니 제대로 삭제된 듯 하다.

1. 안전모드로 재부팅
2. 서비스에서 EDPA / WDP 서비스를 사용안함 으로 변경
3. "C:\Program Files (x86)\Manufacturer\Endpoint Agent" 폴더 완전 제거
4. 재부팅

사실 폴더 삭제하면서 살짝 쫄았는데, 안그래도 된다. ^^b
이후 정상 부팅 후 서비스 목록에서도 아래 명령어로 아예 지워버림.
sc delete edpa
sc delete wdp

이상입니다.


WinForm 에서 별도의 리소스프로젝트의 분리 .NET

이것이 과연 현명한 방법인가에 대한 의문은 여전히 남아 있지만,

그래도 그나마 이정도면 큰 수고를 들이지 않고 원하는 결과를 얻지 않았나 생각이 든다.


WinForm 솔루션 에서 리소스의 관리를 분리시킬 필요가 있고, 

분리된 리소스를 Visual Studio 디자인 타임에서 사용하려고 한다면 아래 방법을 사용하는 것도 괜찮지 싶다.

우선 WinForm 프로젝트와 SharedResourceLibrary 프로젝트를 아래와 같이 생성하고 필요한 리소스를 라이브러리 프로젝트에 추가한다.




WinForm 프로젝트를 Unload 후 프로젝트를 편집한다.



프로젝트의 편집에서 아래와 같이 코드를 입력한다.


    <EmbeddedResource Include="..\SharedResourceLibrary\Properties\SharedResources.resx">

      <Generator>ResXFileCodeGenerator</Generator>

      <LastGenOutput>SharedResources.Designer.cs</LastGenOutput>

      <Link>SharedResources.resx</Link>

      <LastGenOutput>SharedResources.Designer.cs</LastGenOutput>

      <SubType>Designer</SubType>

      <CustomToolNamespace>SharedResourceLibrary.Properties</CustomToolNamespace>

    </EmbeddedResource>

   <None Include="..\SharedResourceLibrary\Properties\SharedResources.Designer.cs">

      <Link>SharedResources.Designer.cs</Link>

      <AutoGen>True</AutoGen>

      <DesignTime>True</DesignTime>

      <DependentUpon>SharedResources.resx</DependentUpon>

    </None>




프로젝트를 다시 로드하면 아래와 같이 SharedResource.resx 파일이 링크로 추가된 모습을 볼 수 있다.


 


아래는 추가된 리소스를 버튼 이미지로 설정하는 모습.

  


 


 


이 방법은 별다른 코드없이 굉장히 수월하게 원하는 바를 이를 수 있지만 위에서 확인했다시피 문제점이 몇 개 보인다. SharedResource.resx 파일이 프로젝트 최상위 경로에 위치하게 된다는 것과 이 위치를 지정할 수 없다는 것이다.

또한 리소스를 선택할때 SharedResource.resx 파일의 절대경로가 모두 표시된다는 점이다. 


좀더 아름다운 방법이 있지 안을까 잠시 고민했지만 바빠서 이만.



참고


Is it possible to access resources from a different project using the designer in WinForms?

http://stackoverflow.com/questions/14904170/is-it-possible-to-access-resources-from-a-different-project-using-the-designer-i




VS2013 에서 ATL Project 생성

몇일간의 삽질을 통해 Win32 프로젝트 형식으로 라이브러리를 만들었으나,
이에 한계가 있다는 것을 깨닫고 역시나 전문가의 조언이 필요하겠다는 생각이 들어 
지인에게 문의 결과 COM 형식으로 만들어 져야 한다는 얘기를 듣고 다시 ATL 을 찾아본다.


다행히 위 블로그에서 기본 Step-by-Step 은 대충보고 2013 에서 만들어 본다.


링크된 블로그에서는 클래스 추가시 오류가 발생한다고 하지만 2013 에서는 개선된듯 하다.
아래는 클래스를 추가하고 테스트 코드를 작성한 화면.


일단은 VB 6 에서 잘 동작하는지의 여부를 확인해야 하므로 VB 에서 테스트 

산넘어 산이구나.

VS2013 에서 Git 연결시 오류

잘못된 아이디 패스워드로 연결할때 아래와 같은 오류가 발생한다.
"An error was raised by libgit2. Category = Net (Error). Remote error: Invalid username or password."

문제는 이걸 "기억해둠" 으로 설정해 놓으면 계속 잘못 저장된 아이디 패스워드로 소스를 가져오려 하는데,
아래 해결 방법으로 해결함.


요약하자면 제어판 > 자격증명관리자 에서 저장된 자격 증명을 지워주면 된다는.


동적 라이브러리를 VB6 에서 사용하기 (부제:시간을거슬러)

개인적으로 스스로의 주특기라 생각하는 개발분야는 .NET 이다.
헌데 요즘같은 시기에 회사에 몸담고 있는 개발자가 아니라면 어찌 하고 싶은것만 하겠는가.
내 비록 지금까지의 인생으로 보자면 죽도록 하기 싫은 일만큼은 피하면서 살고 있지만서도...

개발쪽은 머 그렇게 살기가 쉽지만은 않다.
(살인자오난감중에서)


그러한 요즈음의 개발이슈는 동적 라이브러리를 만들어서 VB 6 에서 사용할 수 있게 만들어 달라는 것이었다.
리눅스에 C 와 MySQL 의 C connector API 를 이용해서 어느정도는 만들어 보겠으나, 이 분야는 정말 생소했다.
기껏해야 만들어진 환경에서 몇번 유지보수 정도 해본게 전부니... 

로직이야 머 하던것을 라이브러리 형식으로만 만들면 되니 어려울 것 있겠나 싶고
그야말로 한 10년 했는데, 머 어찌안되겠나 생각하고 뛰어 들었으나, 기본적인 것들의 지식이 없으니 생각만치 잘 안되다.
이리저리 물어물어 보았으나 주변의 지인들의 형성이 OOP 개발자들이 대부분인지라 머 거기서 거기고.

믿었던 지인 한분은 10년전 기술을 왜 지금 손대냐... 머 이런식 ㅋ
이쯤에서 생각나는 한곡. 시간을거슬러-원모어챈스
낸들 머 그러고 싶겠어~ 암튼 머 먹고 살라면 어쩌겠나. 

하루의 삽질과 스트레스를 걍 한잠 때리고 다시 처음부터 시작해 본다.

우선 동적라이브러리를 어찌 만들어야 하는지 부터 살펴본다.
이리저리 살펴보니 아래 글이 그나마 최신 Visual Studio 환경에서 해보신듯 하다.
(글도 잘 쓰시는듯. 이글을 통해 감사하단 말씀드립니다.)

위 블로그를 통해 Step-by-Step 따라가면서 해보면 얼추 구조가 이해가 되고,
어찌 접근해야 하는지 감이 왔다.

헌데 같은 Win32 C++ 프로젝트에서는 함수가 잘 호출되나 VB 6 에서는 계속 아래와 같은 오류가!!


무언가 더 노출을 시켜주거나 정의해야 하는게 있는게 같은데, 그게 뭔지 알아보다가 찾게된 데브피아 QnA

해서 모듈파일을 추가하고 아래와 같이 정의함.


아~~ 된다 된다!!!


여기까지가 로깅.

시간이 가면 갈수록 느끼는 거지만, 개발자는 겸손해야 한다는 생각이 많이 든다.
좀 한다고 설치면 꼭 이런 것들이 생겨버려 겸손해지게 만든다니깐.
아 암튼 앞으로 구현해야 할게 쌓이고 쌓였지만 또 시간이 지나면 지나갈까바 남김.

겸손!

1 2 3 4 5 6 7 8 9 10 다음