본문 바로가기

프로그래밍

[VC 6] Manifest 추가

Manifest 추가

VC6 프로젝트에 manifest 파일을 추가하려면 수동으로 해줘야 한다.

<참고한 사이트>

 76. How do I add a manifest to a VC6 application? - Bob Moor's Tips

더보기

How do I add a manifest to a VC6 application?

A manifest is a set of meta-information about your application. Manifests are important when it comes to getting your application visually themed, and more important still in the brave new world of NT6 and User account Control. If you're using a flavour of VS.Net, they directly support manifest resources. But what if you're stuck using VC6? Fortunately, there is a way that VC6 can be persuaded to apply a manifest.

First of all, create your manifest file. This is simply an XML text file. You can find one online, or use this very simplistic one:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
   <assemblyIdentity
      name="MyApplicationName"
      processorArchitecture="x86"
      version="5.1.0.0"
      type="win32"/>
      <description> My System </description>
   <dependency>
      <dependentAssembly>
         <assemblyIdentity
            type="win32"
            name="Microsoft.Windows.Common-Controls"
            version="6.0.0.0"
            processorArchitecture="x86"
            publicKeyToken="6595b64144ccf1df"
            language="*"/>
      </dependentAssembly>
   </dependency>
</assembly>

Remember to change the MyApplicationName and My System entries to something more appropriate. It's not strictly necessary for theming purposes, but doubtless Windows will have its own future traps waiting if you don't. Now go to your project resources, select Insert~Resource from the menu, and press the custom button. When you're asked for a resource type, enter 24. Insert the XML given above into the resource, then rename the resource to have the ID 1. I also change the stored filename to manifest.xxx, just to make it obvious what's going on.

Now rebuild your application, and you have a manifest resource. If your application wasn't themed before, it should be now.

 

 

1. 추가할 Manifest 파일 생성

 

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly
  xmlns="urn:schemas-microsoft-com:asm.v1"
  manifestVersion="1.0">
<assemblyIdentity
   name="MyApplicationName"
   processorArchitecture="x86"
   version="5.1.0.0"
   type="win32"/>
<description> My System </description>
 <dependency>
  <dependentAssembly>
   <assemblyIdentity
     type="win32"
     name="Microsoft.Windows.Common-Controls"
     version="6.0.0.0"
     processorArchitecture="x86"
     publicKeyToken="6595b64144ccf1df"
     language="*"/>
  </dependentAssembly>
 </dependency>
</assembly>

 

- assemblyIdentity 엘리먼트의 name 프로퍼티값(MyApplicaton Name) 을 적용할 프로그램 이름으로 변경.

- 다른 정보들은 필수로 넣어줄 필요는 없음.

- 파일 이름은 "실행파일명.exe.manifest" 설정

- 해당 파일을 프로젝트 폴더 하위 "res" 폴더에 저장

 

 

2. VC6 에서 리소스 추가 

 

- VC6 메뉴 => Insert => Insert Resource 선택

- Custome... 버튼 클릭

- Resource type 에 24 입력

  Insert Resource 다이얼로그에 Resource type 24가 출력되어진다.

 

 

 

- Insert Resource 다이얼로그에서 "Import..."  버튼 클릭

- 생성한 manifest 파일을 선택

- 적절한 리소스 이름으로 변경 (ex IDR_MANIFEST)

 

 

3. Manifest Resource ID 값 변경

 

- 프로젝트의 Resource.h 파일을 연다.

- manifest 리소스의 ID값을 1로 변경한다.

 

 

 

 

 

 

- 6.0 개발팁 -

 

Visual Studio 6.0에서는 msvcrt.dll의 기능만 사용하기 때문에.

 

그럼 runtime 안깔게 하고 하려면

1. runtime 포함한 인스톨러 만들거나

2. static linking해서 runtime없이 돌게 하거나

3. vc6.0으로 개발하거나

4. vc6.0 링크를 찾거나.

 

 

프로젝트 속성을 다이나믹에서 스태틱으로 변경하기

구성 속성 - 일반 - 프로젝트 기본값 - MFC 사용 - 공유 DLL에서 MFC 사용 -> 정적 라이브러리에서 MFC 사용