{
	"id": "ab337db6-69c8-4358-b7e7-f18277ef38d1",
	"created_at": "2026-04-06T01:30:55.360362Z",
	"updated_at": "2026-04-10T03:20:18.380024Z",
	"deleted_at": null,
	"sha1_hash": "d0bf781f1b9cd8dc0170385d89e86defd28574bf",
	"title": "Specifying File Handlers for File Name Extensions - Visual Studio 2015",
	"llm_title": "",
	"authors": "",
	"file_creation_date": "0001-01-01T00:00:00Z",
	"file_modification_date": "0001-01-01T00:00:00Z",
	"file_size": 57458,
	"plain_text": "Specifying File Handlers for File Name Extensions - Visual Studio\r\n2015\r\nBy mijacobs\r\nArchived: 2026-04-06 00:30:50 UTC\r\nNote\r\nThis article applies to Visual Studio 2015. If you're looking for the latest Visual Studio documentation, see Visual\r\nStudio documentation. We recommend upgrading to the latest version of Visual Studio. Download it here\r\nThere are a number of ways to determine the application that handles a file which has a particular file extension.\r\nThe OpenWithList and OpenWithProgids verbs are two ways to specify file handlers under the registry entry for\r\nthe file extension.\r\nWhen you right-click a file in Windows Explorer, you see the Open command. If more than one product is\r\nassociated with an extension, you see an Open With submenu.\r\nYou can register different applications to open an extension by setting the OpenWithList key for the file extension\r\nin HKEY_CLASSES_ROOT. The applications listed under this key for a file extension appear under the\r\nRecommended Programs heading in the Open With dialog box. The following example shows the applications\r\nregistered to open the .vcproj file extension.\r\nHKEY_CLASSES_ROOT\\\r\n .vcproj\\\r\n (default)=\"VisualStudio.vcproj.14.0\"\r\n OpenWithList\\\r\n devenv.exe\r\nNote\r\nThe keys specifying applications are from the list under HKEY_CLASSES_ROOT\\Applications.\r\nBy adding an OpenWithList key, you declare that your application supports a file extension even if another\r\napplication takes ownership of the extension. This could be a future version of your application or another\r\napplication.\r\nProgrammatic identifiers (ProgIDs) are friendly versions of ClassIDs that identify a version of an application or\r\nCOM object. Every co-creatable object should have its own ProgID. For example, VisualStudio.DTE.7.1 starts\r\nVisual Studio .NET 2003 while VisualStudio.DTE.10.0 starts Visual Studio. As the owner of a project type or\r\nproject item type, you must create a version-specific ProgID for your file extension. These ProgIDs may be\r\nhttp://msdn.microsoft.com/en-us/library/bb166549.aspx\r\nPage 1 of 3\n\nredundant in that more than one ProgID may start the same application. For more information, see Registering\r\nVerbs for File Name Extensions.\r\nUse the following naming convention for versioned file ProgIDs to avoid duplication with registration from other\r\nvendors:\r\nFile extension Versioned ProgID\r\n.extension ProductName. extension.versionMajor.versionMinor\r\nYou can register different applications that are able to open a particular file extension by adding versioned\r\nProgIDs as values to the HKEY_CLASSES_ROOT\\\u003cextension\u003e\\OpenWithProgids key. This registry key\r\ncontains a list of alternate ProgIDs associated with the file extension. The applications associated with the listed\r\nProgIDs appear in the Open WithProduct Name submenu. If the same application is specified in both the\r\nOpenWithList and OpenWithProgids keys, the operating system merges the duplicates.\r\nNote\r\nThe OpenWithProgids key is only supported in Windows XP. Because other operating systems ignore this key, do\r\nnot use it as the only registration for file handlers. Use this key to provide a better user experience in Windows XP.\r\nAdd the desired ProgIDs as values of the type REG_NONE. The following code provides an example of\r\nregistering ProgIDs for a file extension (.ext).\r\nHKEY_CLASSES_ROOT\\\r\n .ext\\\r\n (default)=\"MyProduct.ext.14.0\"\r\n OpenWithProgids\r\n progid REG_NONE (zero-length binary value)\r\n otherprogid REG_NONE (zero-length binary value)\r\nThe ProgID specified as the default value for the file extension is the default file handler. If you modify the\r\nProgID for a file extension that shipped with a previous version of Visual Studio or that can be taken over by other\r\napplications, then you must register the OpenWithProgids key for your file extension and specify the new ProgID\r\nin the list along with the old ProgIDs you support. For example:\r\nHKEY_CLASSES_ROOT\\\r\n .vcproj\\\r\n (default)=\"VisualStudio.vcproj.14.0\"\r\n OpenWithProgids\r\n vcprojfile //old progid\r\n VisualStudio.vcproj.12.0 //old progid\r\n VisualStudio.vcproj.14.0 //new progid\r\nhttp://msdn.microsoft.com/en-us/library/bb166549.aspx\r\nPage 2 of 3\n\nIf the old ProgID has verbs associated with it, then these verbs will also appear under Open With Product Name\r\nin the shortcut menu.\r\nAbout File Name Extensions\r\nRegistering Verbs for File Name Extensions\r\nSource: http://msdn.microsoft.com/en-us/library/bb166549.aspx\r\nhttp://msdn.microsoft.com/en-us/library/bb166549.aspx\r\nPage 3 of 3",
	"extraction_quality": 1,
	"language": "EN",
	"sources": [
		"MITRE"
	],
	"references": [
		"http://msdn.microsoft.com/en-us/library/bb166549.aspx"
	],
	"report_names": [
		"bb166549.aspx"
	],
	"threat_actors": [],
	"ts_created_at": 1775439055,
	"ts_updated_at": 1775791218,
	"ts_creation_date": 0,
	"ts_modification_date": 0,
	"files": {
		"pdf": "https://archive.orkl.eu/d0bf781f1b9cd8dc0170385d89e86defd28574bf.pdf",
		"text": "https://archive.orkl.eu/d0bf781f1b9cd8dc0170385d89e86defd28574bf.txt",
		"img": "https://archive.orkl.eu/d0bf781f1b9cd8dc0170385d89e86defd28574bf.jpg"
	}
}