Sunday, June 15, 2008

DSL Editor Powertoy in VS2008

It’s pleasure to Sculpture team to announce that they succeeded in migrating DSL Editor Powertoy to VS2008,

So you can develop DSL projects with DSL Editor Powertoy in VS2008 as the same manner as VS2005
with full functionality (Guidance Package , Editor Configuration Diagram).

This release of DSL Editor Powertoy works identically as the previous one.


Note: It’s not an official release, but Sculpture Team believes that DSL Editor Powertoy is vital for all DSL Designers, so they try to provide a community version that supports VS2008.


We hope it will be useful for all DSL Editor Powertoy users.


Downloads:

DSL Editor Powertoy 2008 Binary Installer (1.37 MB)
DSL Editor Powertoy 2008 Source Code (6.08 MB)


For more information about migrating your DSL project to Visual Studio 2008 see the previous post (DSL from 2005 to 2008)

1 comment:

Anton de Wit said...

Hi,

First of all thanx for the port, nice job.
Just one warning to dsleditor users out there. There is a bug in the dsl editor powertoy that may be tricky to find. I haven't checked if this is new in 1.1 or was already there in 1.0.

In ToolWindow.tt the Guid for the ToolWindow is placed on the BASE class. This causes regpkg for instance to use the System.Type.GUID property of the class to generate the registration file (wix in my case).

This Guid is not stable and can change when changing namespace of your class (as well as some other factors).
When, like me, you use custom installers this will cause a desynch between the registry entries your installers create and the ones that are needed. Symptom: your DslEditor ToolWindow will be shown as an empty grayed out window without a name or not show up at all when using the menu command.

I traced it back to the cause described above after debugging and receiving an 80004005 (when converted to a hex string) HResult from the FindToolWindow method (this is called in ModelingPackage.GetToolWindow).

Modifying ToolWindow.tt to place the GuidAttribute on the proper class will prevent this and stabilize the registry that makes your designer work.

Hope this helps some people out there who are like me banging their head into the wall trying to figure out why their editors stopped working...

Cheers,
Anton