오류 처리

[ERROR]vc2008 오류 및 해결 - 1

DevReff 2024. 12. 28. 11:31




728x90
반응형
버전 관리 프로그램인 SVN 설치.doc
1.49MB

 

1.

오류 내용: warning LNK4199:/DELAYLOAD:OleAcc.dll() 무시합니다. OleAcc.dll에서가져오기를찾을수없습니다.

2.

해결방법

 

 

 

 

 

 

3.

오류내용: manifest authoring errorc1010001: Values of attribute "level" not equal in different manifestsnippets.

4.

해결방법

A.

예전 VS 2005 에서 개발시 필요한 권한상승매니페스트 작업

VS6.0에서작업된 결과물에 권한상승을 요청하는 매니페스트 작업은

 

많이알려진대로 처리하면 되지만 VS2005 에서의 작업은 약간 다름.

 

EX)VS2005에서작업된 main.exe static lib의 조합일 경우

 

<main dll 프로젝트 공통 적용 >

 

프로젝트-속성 - 링커 - 매니페스트생성(=yes)

 

프로젝트-속성 - 매니페스트 도구 - 입력및 출력 - 매니페스트 포함 (= yes)

 

<main 프로젝트적용 >

 

main프로젝트의작업폴더에 ***.exe.manifest 파일을 카피한후

 

프로젝트-속성 - 매니페스트 도구 - 입력및 출력

 

-추가매니페스트 파일(= ***.exe.manifest )

 

***.exe.manifest( 권한상승요청 매니패스트 파일 내용 )

 

<?xmlversion="1.0" encoding="UTF-8"standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"
processorArchitecture="X86" name="AdminApp"type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements. -->
<ms_asmv2:trustInfo xmlns:ms_asmv2="urn:schemas-microsoft-com:asm.v2">
<ms_asmv2:security>
<ms_asmv2:requestedPrivileges>
<ms_asmv2:requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</ms_asmv2:requestedPrivileges>
</ms_asmv2:security>
</ms_asmv2:trustInfo>
</assembly>

 

 

 

B.

A방식으로사용시 VS2008로 환경을 바꾸어 컴파일하면

"manifestauthoring error c1010001: Values of attribute 'level' not equal in differentmanifest snippets.". 발생..

 

2008에서는 기본적으로권한에 대한 내용이 포함된 매니페스트 파일을 만들어 주게 되어 있고 요청 level asInvoker로 되어 있기때문에 VS2005로 작업시 추가포함으로들어간 권한 요청 매니페스트 파일과 충돌이 발생하여 나타나는 현상.. ( 기존 권한상승 매니페스트엔 level requireAdministrator 로 되어있음 )

 

해결은아주 간단..

1. 2005에서 추가로 포함시켰던 권한상승을 요청하는 별도의 매니패스트는지워버린다.2. 프로젝트 -> 속성-> 링커 -> 매니페스트파일 ->UAC 실행수준 에서 requireAdmin 을 선택

            






출처: https://use1348222.tistory.com/1 [개발시 오류 문제:티스토리]