-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
VPC error: "Unable to find RegKey for .vcproj files in solutions" #72
Comments
May it be related to the fact it's C++ Express, I have VS2010, VS2012, and VS2013 preview installed and do not get this error. They are all professional or above. |
In my registry it has a DefaultProjectExtension string with a value of vcproj in: In that same key it has a PossibleProjectExtensions string that contains .vcxproj. So, it appears that even in VS 2010 and above they publicly declare that vcproj is the default extension. Can you look in the registry for DefaultProjectExtension and see what you find? From: ben1066 [mailto:notifications@github.com] May it be related to the fact it's C++ Express, I have VS2010, VS2012, and VS2013 preview installed and do not get this error. They are all professional or above. — |
I have VS2010 Express and VS2012 Pro installed. The key \10.0_Config\ key doesn't exist. However VS2012 got the key but in HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942} (notice 11.0_Config) instead. I get the same error as Artfunkel. |
If there is no 10.0_Config key then that's a big problem for people who only have 2010 Express installed. We could hard-code the GUID but I'm not sure if that is the correct fix. In the 11.0_Config key is there a DefaultProjectExtension of vcxproj or vcproj? My 11.0_Config install has a vcxproj DefaultProjectExtension. |
Yes there is one for vcxproj. It's located at HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942} The only difference being the version number for VS2012. |
Okay, good to know. Can you check in these two locations for a DefaultProjectExtension of vcxproj or vcproj: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\10.0\Projects and: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Projects My reg address using HKEY_CURRENT_USERS is incorrect. If I can find out what VC++ 2010 Express stores then I can do the correct fix. |
No luck. However this contains "DefaultProjectExtension" and "PossibleProjectExtensions" values "vcproj" and "vcxproj;vcproj;dsp;mdp;mak;vcp;nativeproj" respectively |
I have these: [HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0_Config\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}]
"Package"="{F1C25864-3097-11D2-A5C5-00C04F7968B4}"
"DisplayProjectFileExtensions"="#10003"
"DefaultProjectExtension"="vcproj"
"PossibleProjectExtensions"="vcxproj;vcproj;dsp;mdp;mak;vcp;nativeproj"
"ProjectTemplatesDir"="c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\.\\VCProjects"
"ItemTemplatesDir"="c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\.\\VCProjectItems"
"DesignerTemplatesDir"="c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\.\\DesignerTemplates"
"DevStudioPackageID"=dword:00000004
"ResourcesFolderBehavior"=dword:00000002
"DisableOnlineTemplates"=dword:00000001
@="#10006"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCExpress\10.0\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}]
"Package"="{F1C25864-3097-11D2-A5C5-00C04F7968B4}"
"DisplayProjectFileExtensions"="#10003"
"DefaultProjectExtension"="vcproj"
"PossibleProjectExtensions"="vcxproj;vcproj;dsp;mdp;mak;vcp;nativeproj"
"ProjectTemplatesDir"="c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Express\\VCProjects"
"ItemTemplatesDir"="c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Express\\VCProjectItems"
"DesignerTemplatesDir"="c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\Express\\DesignerTemplates"
"DevStudioPackageID"=dword:00000004
"ResourcesFolderBehavior"=dword:00000002
"DisableOnlineTemplates"=dword:00000001
@="#10006"
[HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0_Config\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}]
"Package"="{F1C25864-3097-11D2-A5C5-00C04F7968B4}"
"DisplayProjectFileExtensions"="#10003"
"DefaultProjectExtension"="vcproj"
"PossibleProjectExtensions"="vcxproj;vcproj;dsp;mdp;mak;vcp;nativeproj"
"ProjectTemplatesDir"="c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\.\\VCProjects"
"ItemTemplatesDir"="c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\.\\VCProjectItems"
"DesignerTemplatesDir"="c:\\Program Files (x86)\\Microsoft Visual Studio 10.0\\VC\\.\\DesignerTemplates"
"DevStudioPackageID"=dword:00000004
"ResourcesFolderBehavior"=dword:00000002
"DisableOnlineTemplates"=dword:00000001
@="#10006" There are no 10.0_Config keys under Wow6432Node. |
I'm getting this problem as well on VS2010 express. Back when the solution files were included, I was able to build it fine after commenting out some VS2010 SP1 checks. Now with the VPC batch files, I get the "ERROR: Unable to find RegKey for .vcproj files in solutions." error. |
Hallo. I had this message but when I tried to Run as administrator. Message changed to: "C:\Windows\system32>devtools\bin\vpc.exe /hl2mp +everything /mksln eveyrhing.sln If I will run src\devtools\bin\vpc.exe I'm getting message that quickly closing: "VPC - Valve Project Creator For Visual Studio, Xbox 360, Playstation 3 <Build: Jun 5 2013 15:27:08> Source Path: D\mod\modname\scr Type vpc /h for help..." |
I think I found a fix for this problem. It worked for my so it might work for you. Go to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Projects Go to one of the keys and create a new string named DefaultProjectExtension and set the value to vcproj. |
Allan537, you're getting that message because you're trying to run VPC.exe from a directory where it doesn't exist. As for everyone else, just wait for Valve to update VPC.exe, there's no point in using all sorts of hacks and workarounds. |
i did a check with process monitor and it looks for the reg keys here
and here
and here
and lastly here
Allan537's fix does work if you apply it to one of the above keys. I chose the one ending in BC since it was empty. |
although after fixing the key i get problems stemming from the fact that the projects now end in vcxproj and cant be opened by visual studio 2010 C++ express |
What file extension does Visual Studio 2010 C++ Express expect? The .vcxproj file format has been the VC++ standard since VS 2010 and I'm confused as to why the Express edition would change it. This is a new wrinkle. |
It definitely expects vcxproj. |
This is fixed in the update that just shipped. |
Looks like it isn't. Using 3b9509d and VS Express 2013:
|
Please open a new bug for Visual C++ Express 2013. VS2010 is definitely fixed. In that bug could you look in the registry under HKEY_LOCAL_MACHINE and HKEY_CURRENT_USER and report what you have under Software/Microsoft/VisualStudio? That's what VPC is looking for and not finding. |
in case it's helpful, I had both VS2010 and VS2013 installed, and VPC worked fine. Once I uninstalled VS2010 it started showing this error again |
VPC is supposed to be able to handle VC++ Express. The first thing I need to confirm is that you have VC++ Express 2013 installed, not C# Express or some other language. Next, can you check the registry to see whether the expected keys are there? We look in HKEY_LOCAL_MACHINE\Wow6432Node\Software\Microsoft%s%d.0\Projects. The %s part can be VisualStudio or VCExpress. The %d part can be 10, 11, or 12 for VS 2010, 2012, or 2013. On 32-bit machines the "Wow6432Node" part of the path is omitted. Within the Projects folder we scan the sub folders looking for one with DefaultProjectExtension set to vcproj or vcxproj. If you search within the Projects directory for DefaultProjectExtension or vcxproj then you should find the key that we are looking for. If you could look there then that will help us figure out whether the error is on our side or on your machine. I have tested with VCExpress and found the right registry keys, but it is possible that in some configurations the keys get placed elsewhere. Running SysInternal's procmon while launching VC++ 2013 Express and looking for references to vcxproj or DefaultProjectExtension could also be helpful. |
Just for the records: I'm running Windows 8 64bit and VS 2013 Express (C++). The key you're looking for is here:
I haven't found the GUID anywhere else in the registry. |
That's odd that the registry key is only in HKEY_CURRENT_USER. The change to WDExpress from VCExpress makes sense, would explain the bug, and would be easy to fix, but if they've completely moved the data then I need to set up a clean machine with VS 2013 Express for test purposes. |
The next version should work. |
EDIT: Sorry, I didn't see the previous comment stating the same registry key :/ Oh well, I'll leave it there just in case. I found the DefaultProjectExtension value for vcxproj/c++ in WDEpress/12.0 config Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\AddItemTemplates] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\AddItemTemplates\TemplateDirs] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\AddItemTemplates\TemplateDirs{F1C25864-3097-11D2-A5C5-00C04F7968B4}] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\AddItemTemplates\TemplateDirs{F1C25864-3097-11D2-A5C5-00C04F7968B4}/1] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\FileExtensions] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\FileExtensions.xaml] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\FileExtensions.xaml\RefactorNotify] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\FileExtensions.xaml\RefactorNotify{c9164055-039b-4669-832d-f257bd5554d4}] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\FileExtensions.xaml\SymbolicNavigationNotify] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\FileExtensions.xaml\SymbolicNavigationNotify{c9164055-039b-4669-832d-f257bd5554d4}] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\Filters] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\Filters/1] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\Filters/2] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\Filters/3] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\Filters/4] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\Filters/5] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\Filters/6] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\Filters/7] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\ImportTemplates] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\MSBuildHostObjects] [HKEY_CURRENT_USER\Software\Microsoft\WDExpress\12.0_Config\Projects{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}\MSBuildHostObjects\DesignTimeMarkupCompilationCT;CompileXaml] |
Sorry for beieng ambigouos. I found the GUID in the registry only as a child of
|
This issue persists on Visual Studio 2015, do I really hate to install VS2013 just for this? |
I'm using Visual Studio 2015 and gets the same error. |
Yes, Visual Studio 2013 is required. |
VS 2013 is required to be used? |
Yes, Visual Studio 2013 is required. |
For anyone looking up this error while trying to get this working on Visual Studio 2017: As stated above, add the following registry keys if they don't already exist: Add string key 'DefaultProjectExtension' and set the data to 'vcproj' and your sln file should generate without issue! |
Yes @JonTerp 's #issuecomment-326633328 Worked! |
Based on your solution, you can try this little bastard if you're desperate: Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\VisualStudio\10.0\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}]
"DefaultProjectExtension"="vcproj" Save the snippet as a .reg file and run it. |
This solves the issues for 64-bit systems. What about for 32-bit systems? |
This is not entirely right because not every Windows user has that registry path. Instead of using This also means this is not entirely correct:
since if a user has the path In C#, one piece of code I used in XBLAH's Modding Tool that successfully wrote the correct registry was this: private void SetVcProjKey()
{
const string keyPath = @"SOFTWARE\Microsoft\VisualStudio\10.0\Projects\{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}";
const string valueName = "DefaultProjectExtension";
const string valueData = "vcproj";
try
{
RegistryKey registryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).OpenSubKey(keyPath, true);
if (registryKey == null)
{
// If the key doesn't exist, create it
registryKey = RegistryKey.OpenBaseKey(RegistryHive.LocalMachine, RegistryView.Registry32).CreateSubKey(keyPath, RegistryKeyPermissionCheck.ReadWriteSubTree);
}
// Set the registry value
registryKey.SetValue(valueName, valueData, RegistryValueKind.String);
}
catch (Exception ex)
{
MessageBox.Show("Error setting registry key: " + ex.Message);
}
} |
I get this when running creategameprojects.bat:
I have these VS products installed:
...all of which are from the
vcxproj
era, so it's not surprising thatvcproj
isn't in my registry.The text was updated successfully, but these errors were encountered: