windowswindows-7protocolsprotocol-handler

The program name is not shown with protocol handler in Windows 7


Following this page, I could make "alert" protocol handler with Windows 7.

The registry setup is exactly the same as instructed in the page. enter image description here

The problem is that the Program is not shown on dialog boxes both for IE and FF.

enter image description here enter image description here

The protocol handler works fine. enter image description here

What's wrong with this? Do I add something more in registry to show the program name?


Solution

  • You appear to be omitting the version resource when linking your executable. That MSDN article includes the following sample resource:

    #define VER_FILEVERSION             3,10,349,0
    #define VER_FILEVERSION_STR         "3.10.349.0\0"
    
    #define VER_PRODUCTVERSION          3,10,0,0
    #define VER_PRODUCTVERSION_STR      "3.10\0"
    
    #ifndef DEBUG
    #define VER_DEBUG                   0
    #else
    #define VER_DEBUG                   VS_FF_DEBUG
    #endif
    
    VS_VERSION_INFO VERSIONINFO
    FILEVERSION     VER_FILEVERSION
    PRODUCTVERSION  VER_PRODUCTVERSION
    FILEFLAGSMASK   VS_FFI_FILEFLAGSMASK
    FILEFLAGS       (VER_PRIVATEBUILD|VER_PRERELEASE|VER_DEBUG)
    FILEOS          VOS__WINDOWS32
    FILETYPE        VFT_DLL
    FILESUBTYPE     VFT2_UNKNOWN
    BEGIN
        BLOCK "StringFileInfo"
        BEGIN
            BLOCK "040904E4"
            BEGIN
                VALUE "CompanyName",      VER_COMPANYNAME_STR
                VALUE "FileDescription",  VER_FILEDESCRIPTION_STR
                VALUE "FileVersion",      VER_FILEVERSION_STR
                VALUE "InternalName",     VER_INTERNALNAME_STR
                VALUE "LegalCopyright",   VER_LEGALCOPYRIGHT_STR
                VALUE "LegalTrademarks1", VER_LEGALTRADEMARKS1_STR
                VALUE "LegalTrademarks2", VER_LEGALTRADEMARKS2_STR
                VALUE "OriginalFilename", VER_ORIGINALFILENAME_STR
                VALUE "ProductName",      VER_PRODUCTNAME_STR
                VALUE "ProductVersion",   VER_PRODUCTVERSION_STR
            END
        END
    
        BLOCK "VarFileInfo"
        BEGIN
            /* The following line should only be modified for localized versions.     */
            /* It consists of any number of WORD,WORD pairs, with each pair           */
            /* describing a language,codepage combination supported by the file.      */
            /*                                                                        */
            /* For example, a file might have values "0x409,1252" indicating that it  */
            /* supports English language (0x409) in the Windows ANSI codepage (1252). */
    
            VALUE "Translation", 0x409, 1252
    
        END
    END