RibbonGenerator for Visual Studio 2010 Express Editions: Windows Ribbon for WinForms

Yes, RibbonGenerator is also working with Express Editions of Visual Studio 2010, but in version 2.6 of the Ribbon library you need some extra effort to bring the tool up to work.

Requirements:

  • Windows 7 SDK
  • Visual  C++ 2010 Express
  • Visual C# or Basic 2010 Express

Note: You must have Visual C++ 2010 Express Edition installed because it contains the link.exe file that is need to generate .ribbon files.

Manual Registration of Custom Tool

Because the RibbonGenerator setup is not included in compiled format and because the Express Editions does not support setup projects, it is necessary to register the custom tool manually.

  1. Start the “.\RibbonLib_v2.6\RibbonGenerator\RibbonGenerator.sln” solution and ignore all errors
  2. Compile it
  3. Install the RibbonGenerator.dll into the GAC using gacutil.exe in Visual Studio 2010 Command Prompt (Run as Administrator)
    gacutil – i RibbonGenerator.dll
  4. Register the custom tool in Express Edition of Visual Studio 2010. The simplest way is to modify the existing .reg in the RibbonGenerator source folder. Choose the x64 reg file if you have a 64bit operating system. .\RibbonGenerator\RegisterCustomTool_VS2010.reg
    .\RibbonGenerator\RegisterCustomTool_VS2010_x64.reg
    Let take a look into the second one
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\CLSID\{B64582D9-A489-42F4-BA55-BB6039D82916}]
@="RibbonGenerator"
"InprocServer32"="C:\\WINDOWS\\system32\\mscoree.dll"
"Class"="RibbonGenerator.CustomTool"
"Assembly"="RibbonGenerator, Version=1.0.1.0, Culture=neutral, PublicKeyToken=3cf107c5d7e68b1c"
"ThreadingModel"="Both"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Generators\{164B10B9-B200-11D0-8C61-00A0C91E29D5}\RibbonGenerator]
@="Ribbon Generator"
"CLSID"="{B64582D9-A489-42F4-BA55-BB6039D82916}"
"GeneratesDesignTimeSource"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Generators\{E6FDF8B0-F3D1-11D4-8576-0002A516ECE8}\RibbonGenerator]
@="Ribbon Generator"
"CLSID"="{B64582D9-A489-42F4-BA55-BB6039D82916}"
"GeneratesDesignTimeSource"=dword:00000001

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Generators\{FAE04EC1-301F-11d3-BF4B-00C04F79EFBC}\RibbonGenerator]
@="Ribbon Generator"
"CLSID"="{B64582D9-A489-42F4-BA55-BB6039D82916}"
"GeneratesDesignTimeSource"=dword:00000001

All we have to do now, is to place the correct keys for Express Editions

For Visual Studio 2010 (64bit Operating System)

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0

For Visual C# 2010 Express (64bit Operating System)

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VCSExpress\10.0

For Visual Basic 2010 Express (64bit Operating System)

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VBExpress\10.0

Other Ribbon Posts

Quickstart Tutorial: Windows Ribbon for WinForms
RibbonGenerator Details: Windows Ribbon for WinForms
Windows Ribbon for WinForms in Visual Studio 2013

Advertisements

9 thoughts on “RibbonGenerator for Visual Studio 2010 Express Editions: Windows Ribbon for WinForms

  1. Bob says:

    Sorry to be a newbie here, but I’ve tried everything that I can think of to compile the RibbonGenerator with Visual Studio 2010 Express (C#). It will not compile. According to your instructions…

    1) Start the… solution. (“Start” it in what?)
    2) Compile it (Is this like selecting “Build Solution” under the Debug menu? This is what I’ve tried, but it gives 7 errors and will not create a dll.

    Thank you.

    • Bob says:

      Whoops – my bad – never mind, I figured it out. Wasn’t able to find Microsoft.VisualStudio.Shell.dll

  2. If the component crashes in design-time, when one sets the ResourceName property, edit the Util.cs file and modify the static ctor:

    static Util()
    {
    _designMode = (System.Diagnostics.Process.GetCurrentProcess().ProcessName.ToLower() == “vcsexpress”);
    }

    If you use Visual Basic or C++.NET, replace vcsexpress by appropriate IDE executable name.

    Best regards — Spook.

  3. zyborski says:

    excuse my ignorance, but is it not possible for you to add the compliled ribbon DLL into the download so to avoid all these steps to compile it?

  4. Hi there!

    I’m having problems in getting the RibbonGenerator to work in Windows 8 Pro (x64) and Visual Studio Professional 2012.

    I’ve changed the Template.bat to point to the Windows 8 SDK, then build the DLL, registered it using the gacutil, then runned a modified version of the registry file (just changed the 10.0 to 11.0). But it still doesn’t work.

    When I try to run the RibbonGenerator Visual Sutio says “Cannot find custom tool ‘RibonGenerator’ on this system”.

    Any clue?

    • It seems that you have done everything right. The error message “Cannot find custom tool” always mean, that Visual Studio can not see it. If you have registered the dll in the gac correctly the only thing could be the registry. Check if your modified .reg file was correct. Note that x64 OS needs the Wow6432Node key. If you have further questions please ask in the codeplex forum. Thank you.

  5. […] detailed information in the following posts. RibbonGenerator Details: Windows Ribbon for WinForms RibbonGenerator for Visual Studio 2010 Express Editions: Windows Ribbon for WinForms This guidance was written for Visual Studio 2010. If you want to use Visual Studio 2012 you should […]

  6. […] Tutorial: Windows Ribbon for WinForms RibbonGenerator Details: Windows Ribbon for WinForms RibbonGenerator for Visual Studio 2010 Express Editions: Windows Ribbon for WinForms Windows Ribbon for WinForms in Visual Studio […]

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: