GetVers.exe·Î ±¸¼º ¿ä¼ÒÀÇ FileVersion°ú #Version È®ÀÎ

±â¼ú ÀÚ·á: 167597 - ÀÌ ¹®¼­°¡ Àû¿ëµÇ´Â Á¦Ç° º¸±â.
ÀÌ ¹®¼­´Â ÀÌÀü¿¡ ´ÙÀ½ ID·Î ÃâÆÇµÇ¾úÀ½: KR167597
¸ðµÎ È®´ë | ¸ðµÎ Ãà¼Ò

¿ä¾à

À¥À» ÅëÇÑ ±¸¼º ¿ä¼ÒÀÇ ¾÷µ¥ÀÌÆ®´Â ´ë°³ ±¸¼º ¿ä¼ÒÀÇ ÆÄÀÏ ¹öÀüÀ» ÀÌ¿ëÇÏ¿© Á¦¾îÇÕ´Ï´Ù. ÀÌ ÆÄÀÏ ¹öÀüÀº <OBJECT> ű×ÀÇ CODEBASE Ư¼º¿¡¼­ #VersionÀ» »ç¿ëÇÏ¿© ÁöÁ¤Çϰųª .inf ÆÄÀÏ¿¡¼­ FileVersion Ű¿öµå¸¦ »ç¿ëÇÏ¿© ÁöÁ¤ÇÕ´Ï´Ù. ÆÄÀÏ ¹öÀüÀ» °áÁ¤ÇÏ´Â µ¥ È¥µ¿ÀÌ »ý±æ ¼ö ÀÖÀ¸¸ç ¹öÀüÀ» ¿Ã¹Ù¸£°Ô ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é ±¸¼º ¿ä¼Ò°¡ À߸ø ´Ù¿î·ÎµåµÉ ¼ö ÀÖ½À´Ï´Ù. Microsoft Developer Studio ¶Ç´Â ÆÄÀÏ ¸®¼Ò½º¸¦ ¿­ ¼ö ÀÖ´Â ±âŸ ȯ°æÀ» ¾×¼¼½ºÇÒ ¼ö ¾ø´Â °æ¿ì¿¡´Â GetVers.exe ÆÄÀÏÀ» »ç¿ëÇÏ¿© ÇÊ¿äÇÑ ¹öÀüÀ» ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù.

Ãß°¡ Á¤º¸

<OBJECT> ű׿¡¼­´Â ¾Æ·¡¿Í °°ÀÌ CODEBASE Ư¼ºÀ» »ç¿ëÇÏ¿© ÆÄÀÏ ¹öÀüÀ» ÁöÁ¤ÇÕ´Ï´Ù.
   <OBJECT ID="BoomButton" WIDTH=225 HEIGHT=35
   CLASSID="CLSID:56F1BF40-B2D0-11d0-A6D6-00AA00A70FC2"
   CODEBASE="http://example.microsoft.com/AControl.cab#Version=1,0,0,1">
   ...
¾Æ·¡´Â <OBJECT> ű׸¦ »ç¿ëÇÒ ¶§ ±¸¼º ¿ä¼Ò ´Ù¿î·Îµå¸¦ Á¦¾îÇÏ´Â ¹æ¹ýÀ» ÀÇ»ç ÄÚµå·Î ³ªÅ¸³½ °ÍÀÔ´Ï´Ù.
   Check the Registry for CLSID
   If CLSID of OBJECT is NOT found in the registry
      Download OBJECT
   Else If no #Version specified in CODEBASE tag
      Use OBJECT installed on system
   Else
      Check InprocServer32 key for location of installed component
      If File version of installed component < CODEBASE #Version Tag
         Download OBJECT
À§ÀÇ ÀÛ¾÷ È帧°ú ´Ù¸¥ µÎ °¡Áö ¿¹¿Ü°¡ ÀÖ½À´Ï´Ù. CLSID ¾Æ·¡¿¡¼­ [AppID] ۰¡ ¹ß°ßµÇ¸é ±¸¼º ¿ä¼Ò´Â ´ë°³ DCOMÀ» ÅëÇØ ½ÇÇàÇϵµ·Ï µî·ÏµÇ°í ¾÷µ¥ÀÌÆ®µÇÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ, [Installed Version] Ű´Â ÆÄÀÏ ¹öÀüº¸´Ù ¿ì¼±ÇÕ´Ï´Ù. ÀÌ Å°´Â Java Ŭ·¡½º¿Í ºñ PE(Portable Executable) ÆÄÀÏ¿¡ »ç¿ëµË´Ï´Ù.

.inf ÆÄÀÏÀ» ÅëÇØ ¼³Ä¡µÈ ±¸¼º ¿ä¼ÒÀÇ ¾÷µ¥ÀÌÆ®´Â .inf ÆÄÀÏ¿¡¼­ FileVersion Ű¿öµå·Î Á¦¾îÇÕ´Ï´Ù. ¿¹¸¦ µé¾î, ¾Æ·¡ ±¸¹®Àº À§ÀÇ VC 4.2b ÄÁÆ®·ÑÀ» À§ÇÑ mfc42.dllÀÇ ¼³Ä¡¸¦ Á¦¾îÇÕ´Ï´Ù.
   [mfc42.dll]
   FileVersion=4,2,0,6256
   hook=mfc42installer
ÀÌ .inf ÆÄÀÏÀÌ Mfc42.dll ´Ù¿î·Îµå¸¦ Á¦¾îÇÏ´Â ¹æ¹ýÀ» ÀÇ»ç ÄÚµå·Î ³ªÅ¸³»¸é ¾Æ·¡¿Í °°½À´Ï´Ù.
   Search for mfc42.dll in the system (first looking at the same directory
   as the previous version of the control being installed; if not found,
   the file is searched for via the standard search path for DLLs)
   If mfc42.dll is not found,
      install mfc42.dll
   Else
    Compare the file version of the DLL with the FileVersion keyword
    specified in the .inf file
<OBJECT> ÅÂ±×¿Í .inf ÆÄÀÏ ¸ðµÎ¿¡¼­ ÆÄÀÏ ¹öÀüÀ» ÁöÁ¤ÇÏ´Â µ¥ È¥µ¿ÀÌ »ý±æ ¼ö ÀÖ½À´Ï´Ù. Windows Ž»ö±â¿¡¼­ ÆÄÀÏÀ» ¸¶¿ì½º ¿À¸¥ÂÊ ´ÜÃß·Î ´©¸£°í µî·Ï Á¤º¸¸¦ ¼±ÅÃÇÑ ´ÙÀ½ ¹öÀü ÅÇÀ» ´©¸¦ ¶§ Windows ¼ÐÀÌ Ç¥½ÃÇÏ´Â ÆÄÀÏ ¹öÀüÀº <OBJECT> ű׳ª .inf ÆÄÀÏ¿¡ ÇÊ¿äÇÑ ¹öÀü ¹øÈ£¿Í Ç×»ó °°Áö´Â ¾Ê½À´Ï´Ù. ¾Æ·¡ ¿¹¿¡¼­´Â ¸î¸î VC 5.0 DLL¿¡ ´ëÇØ Windows ¼ÐÀÌ º¸°íÇÏ´Â ÆÄÀÏ ¹öÀü ¹× »ç¿ëÇÒ ¿Ã¹Ù¸¥ ¹öÀü °£ÀÇ Â÷À̸¦ º¸¿©ÁÝ´Ï´Ù.
   Mfc42.dll:     º¸°í - 4.21.7022  »ç¿ë - 4,21,0,7022
   Msvcrt.dll:    º¸°í - 5.00.7022  »ç¿ë - 5,0,0,7022
   Olepro32.dll:  º¸°í - 5.0.4055   »ç¿ë - 5,0,4055,1
Microsoft Developer Studio¿¡ ¾×¼¼½ºÇÒ ¼ö ÀÖÀ¸¸é ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î ÆÄÀÏÀÇ ¸®¼Ò½º¸¦ ¿­°í ¿Ã¹Ù¸¥ ¹öÀüÀ» ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù.
  1. Developer StudioÀÇ File ¸Þ´º¿¡¼­ OpenÀ» ¼±ÅÃÇϰí Open as, Resources¸¦ Â÷·Ê·Î ´©¸¨´Ï´Ù.
  2. ¹öÀü ¸®¼Ò½º¸¦ ¿­°í FILEVERSION ۸¦ ã½À´Ï´Ù. ÀÌ °÷¿¡ ³ªÅ¸³ª´Â ¹öÀüÀº <OBJECT> ű׳ª .inf ÆÄÀÏ¿¡¼­ »ç¿ëÇÒ ¿Ã¹Ù¸¥ ¹öÀüÀÔ´Ï´Ù.
  3. ¹öÀü ¸®¼Ò½ºÀÇ Block Header ºÎºÐ¿¡ ¶Ç ´Ù¸¥ "FileVersion" ۰¡ ÀÖ´Â °ÍÀ» ¾Ë ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¹öÀüÀº Windows ¼ÐÀÌ Ç¥½ÃÇÏ´Â ¹öÀü ¹øÈ£·Î, ¶§·Î´Â À§ 2´Ü°è¿¡¼­ º» FILEVERSION Ű¿¡ ³ªÅ¸³­ ¹öÀü ¹øÈ£¿Í ´Ù¸¦ ¼ö ÀÖ½À´Ï´Ù.
Microsoft Developer Studio ¶Ç´Â ÆÄÀÏ ¸®¼Ò½º¸¦ ¿­ ¼ö ÀÖ´Â ¶Ç´Â ±âŸ ȯ°æÀ» ¾×¼¼½ºÇÒ ¼ö ¾ø´Â °æ¿ì¿¡´Â GetVers.exe¸¦ »ç¿ëÇÏ¿© ÇÊ¿äÇÑ ¹öÀüÀ» ¾Ë¾Æ³¾ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ÇÁ·Î±×·¥À» »ç¿ëÇÏ·Á¸é ÇÁ·Î±×·¥À» ´Ù¿î·ÎµåÇÑ ´ÙÀ½ ¾Æ·¡ ¸í·ÉÀ» ÀÔ·ÂÇÕ´Ï´Ù.
GetVers <ÆÄÀÏ À̸§>
Microsoft Download Center¿¡¼­ ¾Æ·¡ÀÇ ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ·Á¸é ¾Æ·¡ÀÇ ÆÄÀÏ À̸§À» ´©¸£½Ê½Ã¿À.
Getvers.exe
Microsoft Download Center¿¡¼­ ÆÄÀÏÀ» ´Ù¿î·ÎµåÇÏ´Â ¹æ¹ý¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ ³»¿ëÀ» º¸·Á¸é ¾Æ·¡ÀÇ Microsoft Download Center¸¦ ¹æ¹®ÇϽʽÿÀ.
http://www.microsoft.com/downloads/search.asp
±×·± ´ÙÀ½, How to use the Microsoft Download Center¸¦ ´©¸£½Ê½Ã¿À. ¾Æ·¡´Â GetVer ÇÁ·Î±×·¥ÀÇ ¼Ò½º ÄÚµåÀÔ´Ï´Ù.
   void reportError()
   {
       LPVOID lpMsgBuf;

       FormatMessage(
           FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
           NULL,
           GetLastError(),
           MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
           (LPTSTR) &lpMsgBuf,
           0,
           NULL );

       cout << (char*)lpMsgBuf << "\n";

       // Free the buffer.
       LocalFree( lpMsgBuf );
   }

   void main( int argc, char *argv[ ], char *envp[ ] )
   {
       cout << "\n";

       if(2 != argc)
       {
           cout << "Syntax: GetVer <File Name>\n";
           return;
       }

       DWORD dwArg;
       DWORD dwInfoSize = GetFileVersionInfoSize(argv[1], &dwArg;);

       if(0 == dwInfoSize)
       {
           cout << "No version info available\n";
           reportError();
           return;
       }

       BYTE* lpBuff = new BYTE[dwInfoSize];

       if(!lpBuff)
       {
           cout << "Out of Memory\n";
           return;
       }

       if(0 == GetFileVersionInfo(argv[1], 0, dwInfoSize, lpBuff))
       {
           cout << "Error retrieving version info\n";
           reportError();
           return;
       }

       VS_FIXEDFILEINFO *vInfo;

       UINT uInfoSize;

       if(0 == VerQueryValue(lpBuff, TEXT("\\"),
               (LPVOID*)&vInfo,
               &uInfoSize))
       {
           cout << "Version information not available\n";
           delete lpBuff;
           return;
       }

       if(0 == uInfoSize)
       {
           cout << "Version information not available\n";
           delete lpBuff;
           return;
       }

       cout << argv[1]
           << " Version: "
           << HIWORD(vInfo->dwFileVersionMS) << ","
           << LOWORD(vInfo->dwFileVersionMS) << ","
           << HIWORD(vInfo->dwFileVersionLS) << ","
           << LOWORD(vInfo->dwFileVersionLS) << "\n";

       delete lpBuff;
   }

¼Ó¼º

±â¼ú ÀÚ·á: 167597 - ¸¶Áö¸· °ËÅä: 2004³â 8¿ù 12ÀÏ ¸ñ¿äÀÏ - ¼öÁ¤: 1.3
º» ¹®¼­ÀÇ Á¤º¸´Â ´ÙÀ½ÀÇ Á¦Ç°¿¡ Àû¿ëµË´Ï´Ù.
  • Microsoft Internet Explorer 3.0
  • Microsoft Internet Explorer 3.01
  • Microsoft Internet Explorer 3.02
  • Microsoft Internet Explorer 4.0 128-Bit Edition
Ű¿öµå:?
kbdownload axsdkcompdownload inetsdkcab kbactivex kbfile kbie300 kbie301 kbie302 kbie400 kbiefaq KB167597
´õ ÀÌ»ó Áö¿øµÇÁö ¾Ê´Â Á¦Ç°ÀÇ KB ³»¿ë¿¡ ´ëÇÑ °íÁö »çÇ×
ÀÌ ¹®¼­¿¡¼­´Â Microsoft¿¡¼­ ´õ ÀÌ»ó Áö¿øÇÏÁö ¾Ê´Â Á¦Ç°¿¡ ´ëÇØ ¼³¸íÇÕ´Ï´Ù. µû¶ó¼­ ÀÌ ¹®¼­´Â "ÀÖ´Â ±×´ë·Î" Á¦°øµÇ¸ç ¾÷µ¥ÀÌÆ®µÇÁö ¾Ê½À´Ï´Ù.

Çǵå¹é º¸³»±â