|
¸Å´ÏÆä½ºÆ®
¸Å´ÏÆä½ºÆ®´Â À©µµ¿ì XPÀ̻󿡼 ½ÇÇà ÆÄÀÏÀÇ Á¤º¸, ·ÎµåÇÏ´Â dllÀÇ ¹öÀü Á¤º¸, ½ÇÇàÆÄÀÏÀÇ ±ÇÇÑ
µîÀ» XML¹®¼ Çü½ÄÀ¸·Î °¡Áö°í ÀÖ´Â ÆÄÀÏÀÔ´Ï´Ù.
Visual Studio 2005¿¡¼ MFC ÀÀ¿ë ÇÁ·Î±×·¥À» »ý¼ºÇϰí, stdafx.h ÆÄÀÏÀ» º¸¸é linker command·Î
ÀÌ ½ÇÇà ÆÄÀÏÀÌ »ç¿ëÇÏ´Â comctl32.dll ¹öÀü°ú ½Ã½ºÅÛ Á¤º¸µîÀ» ¸Å´ÏÆä½ºÆ® ÆÄÀÏ¿¡ ÀÛ¼ºÇÏ´Â ÄÚµå
¸¦ º¼¼ö ÀÖ½À´Ï´Ù.
|
#ifdef _UNICODE
//c:\windows\winsxs\x86_microsoft.windows.common-controls_6595b64144ccf1df_6.0.2600.5512_x-ww_35d4ce83\COMCTL32.DLL
#if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_IA64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#elif defined _M_X64
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
#else
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
#endif
#endif |
ÀÌ·¸°Ô ÀÛ¼ºµÈ ¸Å´ÏÆä½ºÆ® ÆÄÀÏÀº Visual Studio¿¡¼ ½ÇÇàÆÄÀÏÀ» ¿¾îº¸¸é ¾Æ·¡ ±×¸²°ú °°ÀÌ
½ÇÇàÆÄÀÏ ¸®¼Ò½º¿¡ ¸Å´ÏÆä½ºÆ® ÆÄÀÏÀÇ ³»¿ëÀÌ µé¾î°¡ ÀÖ´Â °ÍÀ» È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¸Å´ÏÆä½ºÆ® ÆÄÀÏÀ» Ãß°¡ÇÏ¿© ºñ½ºÅ¸¿¡¼ ±ÇÇÑ »ó½ÂÇϱâ.
¸Å´ÏÆä½ºÆ® ÆÄÀÏÀ» À¯¿ëÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì´Â ºñ½ºÅ¸¿¡¼ ±ÇÇÑ»ó½ÂÀ» ¸Þ´ÏÆä½ºÆ®¸¦ ÀÌ¿ëÇÏ¿© ÇÒ ¼ö ÀÖ´Â Á¡ÀÔ´Ï´Ù.
¹æ¹ýÀº ¾Æ·¡ÀÇ ¸Å´ÏÆä½ºÆ®ÆÄÀÏÀ» ÀÛ¼ºÇÏ¿© Àû´çÇÑ °÷¿¡ ÀúÀåÀ» ÇÕ´Ï´Ù.
(¿¹Á¦¿¡¼´Â ManifestSample.exe.manifest ¶ó´Â À̸§À¸·Î ¿¹Á¦ ÇÁ·ÎÁ§Æ®Æú´õ\res
Æú´õ ¾Æ·¡¿¡ ÀúÀåÀ» Çß½À´Ï´Ù.)
|
<?xml version="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="IsUserAdmin"
type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="false"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly> |
±×¸®°í ÇÁ·ÎÁ§Æ® ¼³Á¤¿¡¼ ÀúÀåµÈ ¸Å´ÏÆä½ºÆ®ÆÄÀÏÀ» Ãß°¡ ÇÕ´Ï´Ù.

ÀÌ·¸°Ô ÇØ¼ ½ÇÇàÀ» ½ÃÄÑ º¸¸é ¾Æ·¡ ±×¸²°ú °°ÀÌ ±ÇÇÑ »ó½Â âÀÌ ¶ß´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù.

ºñ½ºÅ¸¿¡¼ ±ÇÇÑ »ó½ÂÀ» À¯µµÇÏ´Â ÀÀ¿ëÇÁ·Î±×·¥Àº ¸¹ÀÌ »ç¿ë µÉ¼ö ÀÖÀ¸¹Ç·Î °³¹ßÇϱ⠽±°Ô ÇÁ·ÎÁ§Æ®°¡ Ç×»ó ÇØ´ç ¸Å´ÏÆä½ºÆ®¸¦ ½ÇÇàÆÄÀÏ¿¡ Æ÷ÇÔÇϵµ·Ï ÄÄÆÄÀÏ ¿É¼ÇÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù.
ÇÁ·ÎÁ§Æ® ¼³Á¤¿¡¼ ºôµåÈÄ ÀÛ¾÷ ¸í·ÉÁÙ¿¡ ¾Æ·¡ÀÇ ¶óÀÎÀ» ³Ö½À´Ï´Ù.
ÇÁ·ÎÁ§Æ®°¡ ½ÇÇà ÆÄÀÏÀ̸é,
|
mt.exe -manifest ".\res\ManifestSample.exe.manifest" -outputresource:"$(TargetDir)$(TargetName).exe;#1" |
ÇÁ·ÎÁ§Æ®°¡ dll À̸é,
|
mt.exe -manifest ".\res\ManifestSample.dll.manifest" -outputresource:"$(TargetDir)$(TargetName).dll;#2" |
ÀÌ·¸°Ô ÇØµÎ¸é ºôµåÇÒ ¶§¸¶´Ù ±ÇÇÑ»ó½ÂÀ» À¯µµÇÏ´Â ¸Å´ÏÆä½ºÆ®ÆÄÀÏÀÌ ½ÇÇà ¸ðµâ¿¡ »ðÀÔÀÌ
µË´Ï´Ù.
<<Âü°íÀÚ·á>>
http://msdn.microsoft.com/en-us/library/bb756929.aspx
http://msdn.microsoft.com/en-us/library/aa375365(VS.85).aspx |