views:

15

answers:

1

Hi,

I'm running Visual Studio 2008 SP1 on Windows 7.

My company has a build tool that registers itself under the C# node. More specifically it creates this entry in the Registry:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Generators{fae04ec1-301f-11d3- bf4b-00c04f79efbc}\AssemblyName]

Other team members are running Windows XP, while I'm running Windows 7. The tool works fine for them. When I try and run the custom tool in VS 2008, however, I get a not found error.

I've pasted the rest of the registry changes below. Why can Visual Studio find the tool in XP but not in Windows 7?

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Generators{fae04ec1-301f-11d3-bf4b-00c04f79efbc}\AssemblyName] "CLSID"="{ACD71775-E698-4CE2-9B59-C28E116E5394}" "GeneratesDesignTimeSource"=dword:00000001 "GeneratesSharedDesignTimeSource"=dword:00000001 @="AssemblyFriendlyName"

[HKEY_CLASSES_ROOT\AssemblyName] @="AssemblyName"

[HKEY_CLASSES_ROOT\AssemblyName\CLSID] @="{ACD71775-E698-4CE2-9B59-C28E116E5394}"

[HKEY_CLASSES_ROOT\CLSID{ACD71775-E698-4CE2-9B59-C28E116E5394}] @="AssemblyName"

[HKEY_CLASSES_ROOT\CLSID{ACD71775-E698-4CE2-9B59-C28E116E5394}\Implemented Categories]

[HKEY_CLASSES_ROOT\CLSID{ACD71775-E698-4CE2-9B59-C28E116E5394}\Implemented Categories{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}]

[HKEY_CLASSES_ROOT\CLSID{ACD71775-E698-4CE2-9B59-C28E116E5394}\InprocServer32] @="mscoree.dll" "ThreadingModel"="Both" "Class"="AssemblyClassName" "Assembly"="AssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2a949dc6e405b4f5" "RuntimeVersion"="v2.0.50727" "CodeBase"="file://C:/Windows/Assembly.dll"

[HKEY_CLASSES_ROOT\CLSID{ACD71775-E698-4CE2-9B59-C28E116E5394}\InprocServer32\1.0.0.0] "Class"="AssemblyClass" "Assembly"="AssemblyName, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2a949dc6e405b4f5" "RuntimeVersion"="v2.0.50727" "CodeBase"="file://C:/Windows/Assembly.dll"

[HKEY_CLASSES_ROOT\CLSID{ACD71775-E698-4CE2-9B59-C28E116E5394}\ProgId] @="AssemblyName"

A: 

I finally found the solution.

The problem was that Windows 7/Vista has a different node for x86 applications running on them.

When I downloaded Process Monitor, I found that VS was looking under HLM\Wow6432Node\Software instead of HLM\Software. This is created especially for x86 apps running in x64. As soon as I added the entries to that node, everything worked fine.

rsteckly