그런데 이 방법대로 Vista + VB6 개발 환경에서 컴파일 하고 실행해보니 에러가 발생하더군요.
이렇게 컴파일된 실행 파일은 Vista 뿐만 아니라 XP에서 실행시켜도 에러가 발생합니다.
Vista + VB6 + RC.EXE + VB 리소스 편집기 ... 뭔가 문제가 있는 듯 한데 추가적인 테스트는 시간 관계상 다음으로 미룹니다. ^^
▣ 이 글에서는 Vista + VB6 개발 환경에서 위 에러를 피할 수 있는 두 가지 방법을 설명합니다.
[1] manifest 정보를 별도 파일로 관리.
manifest 정보는 실행 파일에 리소스로 포함시키지 않더라도 다음의 명명 규칙에 따라 실행 파일과 같은 폴더에 텍스트 파일로 넣어두기만해도 적용됩니다.
예를들어 실행 파일명이 vb_amdin.exe인 경우 vb_admin.exe.manifest 이름으로 저장하면 됩니다.
요즘들어 Vista와 호환되는 유틸리티가 배포되고 있는데 일부 프로그램에서는 위 방법을 이용하고 있습니다. (Ex. Total Commander 7)
[2] VB2005의 mt.exe 사용
이전 글에서 mt.exe를 이용하는 방법에 대해서도 언급했었는데, 이 방법을 이용하는 경우에는 문제가 발생하지 않았습니다.
manifest 정보를 리소스로 포함시켜서 배포하겠다면 이 방법을 이용하면 됩니다.
▷ 개발 및 테스트하는 경우, 컴파일 할 때마다 매번 mt.exe를 실행하는 것은 귀찮은 작업이 될테니 컴파일하는 폴더에 manifest 파일을 저장해두면 좀 더 수월하게 진행할 수 있을겁니다.
(간단한 예제 소스와 함께 mt.exe 실행 파일이 있습니다.)
▣ 첨부파일 설명
▷ 압축을 풀면 루트에 프로젝트 소스와 함께 Manifest, mt 2개의 폴더가 있습니다.
▷ Manifest
- Vista에서 열어보면 방패 표시가 있는데, 이것은 같은 폴더에 있는 manifest 파일 때문입니다.
- manifest 파일을 삭제하고 실행하면 일반 사용자 권한으로 실행됨을 확인할 수 있습니다.
▷ mt
- Vista에서 열어보면 방패 표시가 있는데, 이것은 mt.exe를 이용해서 minifest 정보를 포함했기 때문입니다.
- manifest 파일을 삭제하고 실행하더라도 Admin 권한으로 실행됩니다.
이렇게 컴파일된 실행 파일은 Vista 뿐만 아니라 XP에서 실행시켜도 에러가 발생합니다.
Vista + VB6 + RC.EXE + VB 리소스 편집기 ... 뭔가 문제가 있는 듯 한데 추가적인 테스트는 시간 관계상 다음으로 미룹니다. ^^
▣ 이 글에서는 Vista + VB6 개발 환경에서 위 에러를 피할 수 있는 두 가지 방법을 설명합니다.
[1] manifest 정보를 별도 파일로 관리.
manifest 정보는 실행 파일에 리소스로 포함시키지 않더라도 다음의 명명 규칙에 따라 실행 파일과 같은 폴더에 텍스트 파일로 넣어두기만해도 적용됩니다.
실행 파일(확장자 포함)명 + ".manifest"
예를들어 실행 파일명이 vb_amdin.exe인 경우 vb_admin.exe.manifest 이름으로 저장하면 됩니다.
요즘들어 Vista와 호환되는 유틸리티가 배포되고 있는데 일부 프로그램에서는 위 방법을 이용하고 있습니다. (Ex. Total Commander 7)
[2] VB2005의 mt.exe 사용
이전 글에서 mt.exe를 이용하는 방법에 대해서도 언급했었는데, 이 방법을 이용하는 경우에는 문제가 발생하지 않았습니다.
mt -manifest app_name.exe.manifest -outputresource:app_name.exe;#1
manifest 정보를 리소스로 포함시켜서 배포하겠다면 이 방법을 이용하면 됩니다.
▷ 개발 및 테스트하는 경우, 컴파일 할 때마다 매번 mt.exe를 실행하는 것은 귀찮은 작업이 될테니 컴파일하는 폴더에 manifest 파일을 저장해두면 좀 더 수월하게 진행할 수 있을겁니다.
(간단한 예제 소스와 함께 mt.exe 실행 파일이 있습니다.)
▣ 첨부파일 설명
▷ 압축을 풀면 루트에 프로젝트 소스와 함께 Manifest, mt 2개의 폴더가 있습니다.
▷ Manifest
- Vista에서 열어보면 방패 표시가 있는데, 이것은 같은 폴더에 있는 manifest 파일 때문입니다.
- manifest 파일을 삭제하고 실행하면 일반 사용자 권한으로 실행됨을 확인할 수 있습니다.
▷ mt
- Vista에서 열어보면 방패 표시가 있는데, 이것은 mt.exe를 이용해서 minifest 정보를 포함했기 때문입니다.
- manifest 파일을 삭제하고 실행하더라도 Admin 권한으로 실행됩니다.
-- 출처 : EnjoyDev.com(www.enjoydev.com) --