Getting "Msstdfmt.dll missing" when starting Visual Basic 6 application

I need to run an old application written in Visual Basic 6 under Windows 7 x64. When I open it I obtain a message complaining that the library msstdfmt.dllcannot be found.

I've tried to install the latest VB 6 runtime available here but I still get the error.

How can I overcome this error message? I'd like to obtain the missing dll from a reliable and possibly durable source.


I've resolved this problem using the procedure described in this blog post, in which the DLL is extracted from a tool built and distributed by Microsoft.

For the sake of convenience, I repeat the procedure here:

  1. download from Microsoft this tool for Exchange 2000, that incidentally is a VB6 program redistributed with msstdfmt.dll
  2. run the program, extracting its contents to a folder of your choice
  3. copy msstdfmt.dll to c:\windows\system32 if running on 32 bit OS or to c:\windows\syswow64 if running on a 64 bit OS
  4. open a command prompt (cmd.exe) with administrator privileges
  5. in the prompt type on 32 bit OS

    regsvr32 c:\windows\system32\msstdfmt.dll
    

    or on 64 bit OS

    regsvr32 c:\windows\syswow64\msstdfmt.dll
    
  6. now your VB6 program should start successfully