At work we use the DevExpress .NET widget toolkit to build flashy GUIs. I recently repaved my dev box, and now run as a non-admin user most of the time. This often causes problems with badly-behaved software, which apparently includes the DevExpress .NET toolkit.
If I run the installer as an admin, it creates convenient toolbox items in Visual Studio 2008 for dropping various DevExpress controls into the forms I build. However, my non-admin user doesn’t get these toolbox items. There’s a separate tool, the Toolbox Creator, which ships with DevExpress for the purpose of putting these back, but it doesn’t work without admin privs (see here).
DevExpress’s handy advise is:
The ToolBoxCreator creates toolbox icons only for the user for which it is launched. And, this user must have Administrator rights.
Earlier I lamented my fate as a GUI developer with DevExpress GUI widgets. After a few hours of repeated head/wall interfacing, I found the problem, and it’s so maddening I must now vent.
Most of my business objects are displayed in the GUI using WinForms and DevExpress data binding. If I have a list of objects to display in a grid or list or, in this case, a calendar, I use lists derived from System.ComponentModel.BindingList<T>, which implements all the plumbing, like IBindingList, plus general-purpose typed container stuff.
Using one of these lists as the DataSource for WinForms or DevExpress controls Just Works. However, as mentioned before, the scheduler control doesn’t switch to the UI thread when handling ListChanged events, so when I load my list in a background thread it crashes the app.
Lately I’ve been stuck doing GUI development at work. If you’re not a systems programmer, it’s probably hard for you to understand how degrading UI work is for me, but it’s roughly equivalent to a lawyer cleaning toilets, or a doctor doing TPS reports.
To make this process suck minimally, my company licensed the Developer Express DXperience toolkit. The toolkit includes WinForms, ASP.NET, and ActiveX components, but we’re only using WinForms.
In my tenure at BearingPoint I’d used a heavily customized earlier version of DevExpress’s XtraGrid control, but they’ve come along way since then, and I’m using more controls now.