现在的位置: 首页 > 综合 > 正文

Shareware Starter Kit (2.0)

2011年02月17日 ⁄ 综合 ⁄ 共 4380字 ⁄ 字号 评论关闭

Introducing the Shareware Starter Kit

I'm way, way late on this, but we have officially released the Shareware Starter Kit on Channel9!!

Download: (C# download, VB download).

The Shareware
Starter Kit is a sample application of the common features in all
shareware applications. You can easily modify, extend and integrate
these into your own applications. The Channel9 guys even have a contest
where you can write code to use the Shareware Starter Kit and code your way to a free ticket to the PDC.  Michael Lehman also has a video walkthrough of the Shareware Starter Kit.  After installing the application, make sure to read the SSK Developer Documentation for a full overview of everything it can do.  Both Michael, Jed Rose, and I will be at the Shareware Industry Conference in Denver, Colorado later this week (ping me if you’re interested in a nerd dinner).

Key Features

Multi-Threaded Splash Screen
A sample Windows Form that shows how you can use a timer control to create a beautiful fade-in/fade-out effect.

Integrated E-Commerce

This feature makes purchasing a licensed copy of your software just a click away by integrating PayPal’s payment services directly into the client application using Web services.

 

Product Activation

Many
shareware applications enable to try-before-you-buy, and this feature
enables developers to control how you want to configure your
application trial period. For example, you can explicitly state that
your application can only be used for 30 days before activating the
product.  While it’s not a bullet proof mechanism, the built-in version provides a sample of how you can configure product activation.

 

Product Registration

This
form makes it dirt simple to enable product registration directly in
the product using Web services. Everyone wants to know more information
about their customers, heck Visual Studio 2005 is the first version of
Visual Studio with in-product registration capabilities. 

 

Product Feedback

Do
you want to know what your customers think about your application? Why
not add the ability to send feedback directly in the product? This
feature enables them to do just that using Web services.

 

Exception Handling Reporting

You’ve probably had a Windows application hang on you, where you get a “Send Error Report” message.  That
feature is known as Watson, and the error information is sent to
Microsoft where if you have a certificate from Verisign, you can
actually pull the dumps for your application. The version in the
Shareware Starter Kit is the “poor-man’s Watson”, and it captures
information about the thrown exception and records it in a database.
That way you can report on your application crashes by date, exception
type, version, operating system, all using Web services.

 

You can access all the features directly from the included Sample Application Toolstrip as shown below:

Walkthrough: An unhandled exception is thrown

To show you all the bits and pieces here’s a simplified walkthrough of how the kit works:

  1. Your exception information is forwarded to the ExceptionForm Form.

  2. Information about the exception is loaded into the ExceptionForm textboxes.

  3. The ExceptionForm loads up a DataStore
    class which loads your application settings from a file “DataStore.dat”
    in isolated storage to validate if payment information has been
    received.

  4. When the user clicks “Submit” a new ExceptionInfo class is created and populated with information about the exception.

  5. The ExceptionInfo class is then sent to the ServerProcessing class which handles calling all of the Web services. The ServerProcessing class inspects the incoming type is an ExceptionInfo type, and if so, calls the SubmitException Web service.

  6. The
    SubmitException WebMethod is a Web Method in the SharewareService
    WebService class. Below is the declaration of the class, note the Basic
    Profile compliance attribute for interoperability.

    [WebService(Namespace = "http://tempuri.org/")]

    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

    public class SharewareService : System.Web.Services.WebService

    {...}

 

  1. The SubmitException Web Service validates the input and checks for SQL injection, then calls the DB classes SubmitException method that uses a DAL to call the SubmitException stored procedure in the SSK Database, which in turn adds the data to the SSK_Exception table. Below is a list of the database tables and stored procedures in the SSK database.

Database Tables

Database Stored Procedures

Here’s a view of the architecture (pics from the included documentation) showing both the client and server architecture.

Client Architecture

 

Server Architecture

We Want Your Feedback
Send
us your feedback! The Shareware Starter Kit is in beta and we want your
feedback and comments on the feature design, new features and anything
in-between. We are currently also working on a fully unmanaged (at
least from the client side) C++ version of the Shareware Starter Kit
and an Avalon/Indigo version of the kit.

Special thanks to Personify Design who did the design and development of the kit and Foundstone for the security review.

http://blogs.msdn.com/danielfe/archive/2005/07/10/437293.aspx

抱歉!评论已关闭.