The WebStore offline application is a C# Windows forms application and the Web Store provides both executable and source code versions to it. You can find them here:
Source Code:
<installdir>\WebStoreClient
Excecutables:
<installdir>\WebStoreClient_run
The application uses a couple of third party components:
- SandBar
Provides the user interface controls for toolbars and menus. This framework is very simple, but very clean, easy to use with an intuitive and flexible designer. Unlike other similar components it is also very fast and unlike the stock .NET 2.0 Toolbars and menus the renderer ships with various different themes that can be overridden easily. - ActiveReports 3.0
ActiveReports provides a flexible report engine that outputs to printer, preview, PDF, HTML, Excel and more. It provides a decent report designer, but the real value of this tool is in its programmability of reports that provides a familiar events based processing model for reports.
Once installed you will need to add the following assemblies to the WebStoreClient Project:
- Sandbar.dll
- ActiveReports3.dll
- ActiveReports.PdfExport.dll
- ActiveReports.Viewer3.dll
You are free to use the components when running the Web Store Client application and you can use the DLLs in the SupportDlls directory to compile the WebStore Client project that contains these controls. However if you need to customize the application's menus or reports you will need to download the demo or full versions to get designer support.
Sandbar provides a free version for non-commercial use and we've shipped it here for convenience so you can run the offline application. ActiveReports requires that you download and install first.
Source Code
The Web Store Offline application source code consists of 6 projects similar to the ASP.Net application. The main project is WebStoreClient which contains all of the forms and application specific classes. The application uses the same business object classes used in the ASP.Net application and most of the other projects in this solution are the same as for the ASP.Net application.

The other WinForms specific project is wwDataControls which contains WinForms controls for custom databinding. There are also a number of other enhanced controls:
- Multi-column DropDown implementation
.Net unfortunately does not have a mechanism to display multi-column content in list. Since this is a must have feature we have an implementation that looks like this:

The control works against a data table and can return a selected data row, with options to set the selected item/row/index and specification of field header, width and alignment. Used in a number of places in this application.
- DateTimePicker that supports 'empty' dates
Note it does not support null dates but it treats dates before 1901 as 'empty' and displays it without content. - TextBox that supports input types
The textbox control can be set up to display numeric values, text or date values which all handle input options a little differently - this provides for rudimentary input control that is missing from the stock control. - A generic progress form

- A generic InputBox form that is type aware
