Search code examples
c++windowswinapiwindows-installer

wrong application name in Windows 8 "open this type of file" dialog


I'm trying to set name of the application that appears when opening one of the file extension registered by my application's installer, right now it shows this:


Since I can post images...

In this dialog:
(source: eightforums.com)

It shows the full application path "C:/Program Files/.../myapp.exe" instead of the Application name


I'd like to have the application name appear there instead of the full command line path...

Here's the registry file which represents what I'm doing in the installer:

REGEDIT4

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TalanSoft.GaeaLevel.v1]
@="Gaea Level"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TalanSoft.GaeaLevel.v1\DefaultIcon]
@="\"C:\\Program Files (x86)\\TalanSoft\\Gaea3/Gaea/bin/nt-x86/niw_ra.exe\",0"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TalanSoft.GaeaLevel.v1\shell]

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TalanSoft.GaeaLevel.v1\shell\open]
@=""

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\TalanSoft.GaeaLevel.v1\shell\open\command]
@="\"C:\\Program Files (x86)\\TalanSoft\\Gaea3/Gaea/bin/nt-x86/niw_ra.exe\" -I\"C:\\Program Files (x86)\\TalanSoft\\Gaea3/niSDK/data/\" -I\"C:\\Program Files (x86)\\TalanSoft\\Gaea3/niSDK/scripts/\" -I\"C:\\Program Files (x86)\\TalanSoft\\Gaea3/ham/scripts/\" -I\"C:\\Program Files (x86)\\TalanSoft\\Gaea3/Gaea/scripts/\" -I\"C:\\Program Files (x86)\\TalanSoft\\Gaea3/Gaea/scripts/gaea/\" -e -Dgaea.start_app_level=\"%1\" gaea/gaea.niw"

[HKEY_LOCAL_MACHINE\SOFTWARE\TalanSoft\Gaea\Capabilities]
"ApplicationDescription"="Gaea is a web development application developed by TalanSoft Co."
"ApplicationIcon"="C:\\Program Files (x86)\\TalanSoft\\Gaea3\\Gaea\\bin\\nt-x86\\niw_ra.exe,0"
"ApplicationName"="Gaea"

[HKEY_LOCAL_MACHINE\SOFTWARE\TalanSoft\Gaea\Capabilities\FileAssociations]
".level"="TalanSoft.GaeaLevel.v1"
".gaea"="TalanSoft.GaeaApp.v1"

[HKEY_LOCAL_MACHINE\SOFTWARE\RegisteredApplications]
"Gaea"="SOFTWARE\\TalanSoft\\Gaea\\Capabilities"

I've setting up that way following the recommendation in this article: http://msdn.microsoft.com/en-us/library/windows/desktop/cc144154(v=vs.85).aspx#intro

Any idea of how this has to be setup, I couldn't find any Win8 specific info.


Solution

  • Create a string value for your exe with FriendlyAppName under HKLM\SOFTWARE\Classes\Applications, like:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Applications\niw_ra.exe]
    "FriendlyAppName" = "Gaea"
    

    This MSDN article describes all the options you can give for your application.

    EDIT: found this SO answer saying the same thing afterwards