Reviews

Review: Universal .NET

Universal .NET
$495
Desaware
Campbell, California
(408) 377-4770
www.desaware.com

Desaware has been in the components business for a long time, but with the release of their new Universal .NET bundle, they're entering new territory. First, the price is excellent for the number of components that you receive. Second, you get the full source code to everything, which provides excellent insurance for any project that decides to use these components.

Here's what you get as part of the package (all components are built to be used from either VB .NET or C# applications):

  • SpyWorks: Probably the component for which Desaware is best-known, this one enables you to perform subclassing and event hooking down at a very low level in the Windows system.
  • NT Service Toolkit: A framework for building your own system services.
  • StateCoder: A state machine framework for your .NET applications.
  • StorageTools: An interface to OLE structured storage (the storage medium used by compound files such as Word and Excel documents).
  • EventLog Toolkit: Code for building event log sources.
  • OneTimeDownload-5M: A way to build ASP.NET applications with personalized links that allow only limited downloads.
  • LineGraphs-5M: A graphing component for ASP.NET
  • INIFileTool-5M: Code for reading and writing INI files from .NET

And, of course, it all comes with source code. Each of the source code projects is stored separately, and there are readme files explaining the tools and customizations you'll need to rebuild each one from scratch.

The actual components vary in their usefulness. Many are ports of Desaware's corresponding COM components, but that doesn't mame them less useful; indeed, if you've been using them in a VB5 or VB6 environment, this provides an easy upgrade path. Others (the 5M ["5-minute"] series) are all-new.

Some of these pieces overlap with native .NET Framework capabilities, of course. In particular, you can build services and event sources without buying any third-party components at all. But the Desaware components allow you to use much more of the native functionality than .NET currently exposes. If you've been trying to work with .NET for services and events and have run up against the limitations of the Framework, these are a good bet to move you forward.

SpyWorks, of course, is off in a class by itself. You can use it to set system-wide keyboard hooks, or to export functionality from .NET applications as a true Windows DLL, or to send private messages between applications, or to muck around in another application's memory. Being able to do these low-level tasks from VB .NET or C# will be a real benefit to many developers who don't care to mess around with C++.

Overall, there's a lot of value here, and the inclusion of the source code is just the icing on the cake (you might want to read the Desaware white paper, "Source Code Economics", for a take on what this means to you). Not everyone will need to perform the tasks that Universal .NET enables, but if you do, there's a lot of code here for a reasonable price.

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.