<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>Licenser - A Software license package</title><link>http://www.codeplex.com/Licenser/Project/ProjectRss.aspx</link><description>A package used by the software developers for licensing their products.   The produced license file is digitally signed. It is also specific for the licensed computer.   The developer may license any f...</description><item><title>New Post: asp.net</title><link>http://www.codeplex.com/Licenser/Thread/View.aspx?ThreadId=33121</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi Adiazcan,&lt;/p&gt;
&lt;p&gt;Again, from the security perspective, the best way for a web-based&amp;nbsp;identification is by logged-in user and not by his&amp;nbsp;computer. That is because users are working the web from anywhere and not from a particular computer, and also because the application is running on a server and not on the client machine. The solution I'd put in the last discussion item enables writing a Web-Based licensing&amp;nbsp;(as&amp;nbsp;long as the&amp;nbsp;web-site serves subscribed users - i.e. users with accounts).&lt;br&gt;
&lt;br&gt;
However, if you still need a non-standard solution here is what you can do.&lt;br&gt;
The basic idea is to encode the host name, and write it in the license in the computerId field.&lt;br&gt;
Then, to make GetComputerId to encode the requester host&amp;nbsp;in the same manner and to compare it with the license.&lt;br&gt;
&lt;br&gt;
Here is an example of encoding the userId:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Create a Project named Test1
    &lt;li&gt;Prepare&amp;nbsp;a dialog box with a TextBox1, and an empty&amp;nbsp;Label named lblHostName, a button named btnEncode and a button named btnExit.
    &lt;li&gt;Replace the&amp;nbsp;Form1 class content with the&amp;nbsp;following code: &lt;/li&gt;
&lt;/ol&gt;
&lt;blockquote dir=ltr style="margin-right:0px"&gt;
&lt;blockquote dir=ltr style="margin-right:0px"&gt;
&lt;p&gt;using System;&lt;br&gt;
using System.Collections.Generic;&lt;br&gt;
using System.ComponentModel;&lt;br&gt;
using System.Data;&lt;br&gt;
using System.Drawing;&lt;br&gt;
using System.Text;&lt;br&gt;
using System.Windows.Forms;&lt;br&gt;
using System.Net;&lt;br&gt;
using System.Security.Cryptography;&lt;/p&gt;
&lt;p&gt;namespace Test1&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; public partial class Form1 : Form&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Form1()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; lblHostName.Text = Dns.GetHostName();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void btnExit_Click(object sender, EventArgs e)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Application.Exit();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void btnEncode_Click(object sender, EventArgs e)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; const string numDesc = &amp;quot;0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ&amp;quot;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; textBox1.Text = &amp;quot;&amp;quot;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SHA1 sha = new SHA1CryptoServiceProvider();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte [] decoded = System.Text.ASCIIEncoding.ASCII.GetBytes(lblHostName.Text);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte[] encoded = sha.ComputeHash(decoded);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int i = 0;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; foreach (byte digit in encoded)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; int d = (int)digit;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte b1 = (byte)((d &amp;amp; 240) / 16);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte b2 = (byte)(d &amp;amp; 15);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; char c = numDesc[b1+b2];&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string s = c.ToString();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; textBox1.Text += s;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; i++;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (i % 5 == 0 &amp;amp;&amp;amp; i != encoded.Length)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; textBox1.Text += &amp;quot;-&amp;quot;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
}&lt;/p&gt;
&lt;/blockquote&gt;&lt;/blockquote&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:13px"&gt;&lt;span style="font-size:16px"&gt;An application similar to the example should be downloaded to the customer that will e-mail his encoded&amp;nbsp;computer-id to the application provider. The encoded computer-id will be inserted into the license. The Web-Application will call a GetComputerId with the &lt;br&gt;
Page.Request.UserHostName attribute. That routine will be written exactly as the btnEncodeClick and will convert the Page.Request.UserHostName to it's encoded computer-id&lt;br&gt;
&lt;br&gt;
Eyal&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description><author>eyall</author><pubDate>Sun, 17 Aug 2008 09:56:27 GMT</pubDate><guid isPermaLink="false">New Post: asp.net 20080817095627A</guid></item><item><title>New Post: asp.net</title><link>http://www.codeplex.com/Licenser/Thread/View.aspx?ThreadId=33121</link><description>&lt;div style="line-height: normal;"&gt;Thanks Eyal,&lt;br&gt;
&lt;br&gt;
I need a method like GetComputerID but on a web application. I can't use the login user to do it. &lt;br&gt;
&lt;br&gt;
Any idea?&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>adiazcan</author><pubDate>Tue, 12 Aug 2008 13:10:26 GMT</pubDate><guid isPermaLink="false">New Post: asp.net 20080812011026P</guid></item><item><title>New Post: asp.net</title><link>http://www.codeplex.com/Licenser/Thread/View.aspx?ThreadId=33121</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Hi,&lt;br&gt;
&lt;br&gt;
The answer is a bit complex and here is the reason for it:&lt;br&gt;
IsValid() Function calls the GetComputerId() that seeks for the Network Interface Hardware ID of the executing computer (i.e. - the Web Server). That means that a license will be&amp;nbsp;checked&amp;nbsp;vs.&amp;nbsp;the server - which causes a hugh security hole - every logged-in user&amp;nbsp;will be able to execute the software.&lt;br&gt;
&lt;br&gt;
That can be fixed by replacing the computerId in the user credentials.&amp;nbsp;This is done&amp;nbsp;in the following manner:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;In the dotNet.ASP&amp;nbsp;solution Add the LicenserApi.csproj Project as a secondary project.&amp;nbsp;&lt;/li&gt;
    &lt;li&gt;Edit the Logic.cs file, Add a reference to System.Web namespace&lt;/li&gt;
    &lt;li&gt;At the top of file, bellow #using System.Security.Cryptography add #using System.Web&lt;/li&gt;
    &lt;li&gt;Add a method name GetComputerID(HttpRequest request) with the following code:&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;public static string GetComputerID(HttpRequest request)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return request.LogonUserIdentify.User.ToString();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;5.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Replace the line:&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; IsValid(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; licensePath, &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; featureName, &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; passCode, &lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; bThrow)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with the following line&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color:#0000ff"&gt;public&lt;/span&gt; &lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; IsValid(&lt;span style="color:#0000ff"&gt;string&lt;/span&gt; licensePath, &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; featureName, &lt;span style="color:#0000ff"&gt;string&lt;/span&gt; passCode, &lt;span style="color:#0000ff"&gt;bool&lt;/span&gt; bThrow, HttpRequest request)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;then, replace the line&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;licenseInformation.computerID = Logic.GetComputerId();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;with the line&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;licenseInformation.computerID = Logic.GetComputerId(request);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;6.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Next, at your Asp.Net page, Add a reference to the licenserApi.&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;7.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Protect your page so the user needs to login into the ASP.Net Web page&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;8.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Make a call to the modified LicenserAPI.Logic.IsValid() with the Page.Request object as the Last argument&lt;br&gt;
&lt;br&gt;
Another Application that&amp;nbsp;should&amp;nbsp;be written is a one (used by the person who produces the licenses) that creates the user-sid string. This string should be put in the ComputerId field of the license.&amp;nbsp;This can be made as shown in the following console application&amp;nbsp;example:&lt;br&gt;
&lt;br&gt;
&lt;span style="color:blue"&gt;using&lt;/span&gt; System;&lt;br&gt;
&lt;span style="color:blue"&gt;using&lt;/span&gt; System.Security.Principal;&lt;br&gt;
&lt;br&gt;
&lt;span style="color:blue"&gt;class&lt;/span&gt; WindowsIdentityMembers&lt;br&gt;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; [STAThread]&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="color:blue"&gt;static&lt;/span&gt; &lt;span style="color:blue"&gt;void&lt;/span&gt; Main(&lt;span style="color:blue"&gt;string&lt;/span&gt;[] args)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.Write(&amp;quot;Enter Account: &lt;a href="mailto:username@server.domaim"&gt;username@server.domaim&lt;/a&gt;: &amp;quot;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;string account = Console.ReadLn();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WindowsIdentity wi = new WindowsIdentity(account);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WindowsImpersonationContext ctx = null;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ctx = wi.Impersonate();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLn(Account SID:&amp;nbsp;&amp;quot; + wi.User.ToString();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Console.WriteLn(&amp;quot;Error in account name - Exiting...&amp;quot;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;finally&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ctx.Undo();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
Good luck,&lt;br&gt;
-- Eyal.&lt;br&gt;
&amp;nbsp;&lt;/p&gt;
&lt;/div&gt;</description><author>eyall</author><pubDate>Tue, 12 Aug 2008 12:17:05 GMT</pubDate><guid isPermaLink="false">New Post: asp.net 20080812121705P</guid></item><item><title>New Post: asp.net</title><link>http://www.codeplex.com/Licenser/Thread/View.aspx?ThreadId=33121</link><description>&lt;div style="line-height: normal;"&gt;Hello,&lt;br&gt;
&lt;br&gt;
can I use this api into an asp.net project?&lt;br&gt;
&lt;br&gt;
Thanks&lt;br&gt;
&lt;/div&gt;</description><author>adiazcan</author><pubDate>Thu, 07 Aug 2008 18:48:07 GMT</pubDate><guid isPermaLink="false">New Post: asp.net 20080807064807P</guid></item><item><title>New Post: AddALicense: DataMember of licensesLicenseTypeEnumBindingSource</title><link>http://www.codeplex.com/Licenser/Thread/View.aspx?ThreadId=31986</link><description>&lt;div style="line-height: normal;"&gt;Hey,&lt;br&gt;
I'm a bit confused for the reason you want to change the&amp;nbsp;LicesnseTypeEnum&amp;nbsp;enumeration - that is because this is a part of the business logic of the licenser, if you will set other values than the one already there you will also need massive changes in the code&amp;nbsp;to&amp;nbsp;make it work, and not to make bugs&amp;nbsp;as well.&lt;br&gt;
Anyway, if you want to set different values of&amp;nbsp; LicesnseTypeEnum&amp;nbsp;do as follow:&lt;br&gt;
1. In the LicenserProduction project, double click the Resource1.resx object&lt;br&gt;
2. In the strings tab, change/ add names and values.&lt;br&gt;
3. Right Click Form1.cs and choose &amp;quot;view code&amp;quot;&lt;br&gt;
4. In the InitializeData() method, set the row.code and row.description with all the new values&lt;br&gt;
5. In case you'd changed the names, find all previous names in all code *.cs files, and replace it with the new ones. Note, if you want a different behavior you will need to set it in your code as well.&lt;br&gt;
&lt;br&gt;
I hope that answers your question.&lt;br&gt;
Cheers,&lt;br&gt;
-- eyall
&lt;/div&gt;</description><author>eyall</author><pubDate>Sat, 26 Jul 2008 18:47:08 GMT</pubDate><guid isPermaLink="false">New Post: AddALicense: DataMember of licensesLicenseTypeEnumBindingSource 20080726064708P</guid></item><item><title>New Post: AddALicense: DataMember of licensesLicenseTypeEnumBindingSource</title><link>http://www.codeplex.com/Licenser/Thread/View.aspx?ThreadId=31986</link><description>&lt;div style="line-height: normal;"&gt;Hey,&lt;br&gt;
&lt;br&gt;
I have try to translate your License-Manager to Framework 2 and VB.Net. All code is translated and most of them is now working.&lt;br&gt;
&lt;br&gt;
My problem is that i cant figure out how you put the &amp;quot;DataMember&amp;quot;-Property of the&amp;nbsp;&amp;quot;licensesLicenseTypeEnumBindingSource&amp;quot; in the AddALicense-Control. i have open it in VS2008 and when I compiled it than worked. But I open then Usercontrol - select the&amp;nbsp;&amp;quot;licensesLicenseTypeEnumBindingSource&amp;quot; - I see you put in &amp;quot;Licenses_LicenseTypeEnum&amp;quot;. But when I want change them, then I only find the possible value &amp;quot;Licenses_Feature&amp;quot;. Then it is not possible to reselect/put in the text &amp;quot;Licenses_LicenseTypeEnum&amp;quot;.&lt;br&gt;
&lt;br&gt;
Please say me how to you put in the correct DataMember-Name&lt;br&gt;
&lt;br&gt;
Thank you very much&lt;br&gt;
&lt;br&gt;
MyKey0815
&lt;/div&gt;</description><author>MyKey0815</author><pubDate>Tue, 22 Jul 2008 14:38:25 GMT</pubDate><guid isPermaLink="false">New Post: AddALicense: DataMember of licensesLicenseTypeEnumBindingSource 20080722023825P</guid></item><item><title>New Post: Sample Application(s)</title><link>http://www.codeplex.com/Licenser/Thread/View.aspx?ThreadId=28887</link><description>&lt;div style="line-height: normal;"&gt;Hi eyall,&lt;br&gt;
&lt;br&gt;
I went through your release code, job well done!. Did you consider using the .NET control licensing component&amp;nbsp; ? - Just a thought.&lt;br&gt;
&lt;br&gt;
I like your Licenser production application. I might need to modify it so that it updates a SQL database.&lt;br&gt;
&lt;br&gt;
Have you thought of a way to prevent time tampering ? I know of commerical tools that can determine whether or not the system clock has been changed. I am not sure how you would go about that though. Perhaps if you stored a &amp;quot;Last used&amp;quot; date in your license file which would record the date the program last ran. You could then throw a license validation error if the system date was earlier than the last run date.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
&lt;/div&gt;</description><author>shaund</author><pubDate>Wed, 11 Jun 2008 18:40:06 GMT</pubDate><guid isPermaLink="false">New Post: Sample Application(s) 20080611064006P</guid></item><item><title>NEW POST: Sample Application(s)</title><link>http://www.codeplex.com/Licenser/Thread/View.aspx?ThreadId=28887</link><description>&lt;div style="line-height: normal;"&gt;&lt;p&gt;Shaund,&lt;br&gt;
&lt;br&gt;
Actually, there is a build in example within the code.&lt;br&gt;
To use it do as follows:&lt;br&gt;
&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Create an empty project&lt;/li&gt;
    &lt;li&gt;Add a reference to LicenserAPI.DLL&lt;/li&gt;
    &lt;li&gt;From the LicenserProduction code (Latest Version), copy the following files into your project:
    &lt;ul&gt;
        &lt;li&gt;TestLicenseForm.cs&lt;/li&gt;
        &lt;li&gt;TestLicenseFormDesigner.cs&lt;/li&gt;
        &lt;li&gt;TestLicenseForm.Resx&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Set the main form (in program.cs) to be TestLicenseForm&lt;/li&gt;
    &lt;li&gt;Compile and run&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;You can also create a license with your computer ID, select the license and right click, there is a &amp;quot;TEST&amp;quot; option menu that activate the same form. You can set a breakpoint in the TestLicesnse constructor and click the TEST menu option. youw will be able to see how it is working.&lt;br&gt;
&lt;br&gt;
-- eyall&lt;/p&gt;
&lt;/div&gt;</description><author>eyall</author><pubDate>Thu, 05 Jun 2008 13:31:15 GMT</pubDate><guid isPermaLink="false">NEW POST: Sample Application(s) 20080605013115P</guid></item><item><title>NEW POST: Sample Application(s)</title><link>http://www.codeplex.com/Licenser/Thread/View.aspx?ThreadId=28887</link><description>&lt;div style="line-height: normal;"&gt;Hi &lt;br&gt;
&lt;br&gt;
I was really excited to see your project as I need a simple yet effective licencing solution for my projects.&lt;br&gt;
&lt;br&gt;
I had a look at your code pre-release and it looked good. &lt;br&gt;
&lt;br&gt;
Please could you add a sample project which demonstrates how you envisage develeopers using your framework. I.e just a windows app that is licenced.&lt;br&gt;
&lt;/div&gt;</description><author>shaund</author><pubDate>Mon, 02 Jun 2008 21:16:55 GMT</pubDate><guid isPermaLink="false">NEW POST: Sample Application(s) 20080602091655P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/Licenser/Wiki/View.aspx?title=Home&amp;version=7</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A package used by the software developers for licensing their products.&lt;br /&gt;The produced license file is digitally signed. It is also specific for the licensed computer.&lt;br /&gt;The developer may license any feature in his program separately. Each of the license features might be time depended &amp;#40;optional&amp;#41;.&lt;br /&gt;&lt;br /&gt;In order to enhance security, the application has to pass to the licenser a PASSCODE during run-time. The PASSCODE is a text known only to the software developer, but does not appear anywhere in the license file.&lt;br /&gt;&lt;br /&gt;The feature information, as well as the licensed computer identification together with the PASSCODE are encrypted into a digital signature that is written in the license file.&lt;br /&gt;Any trial to modify the license information will cause an inconsistency with its signature that will invalidate the license. That will be also the case if a feature expires or the computer identification is differ from the one that is licensed.&lt;br /&gt;&lt;br /&gt;This package contains the following modules&amp;#58;&lt;br /&gt;1.&amp;#9;Licenser &amp;#47; Production &amp;#8211; A license production tool&lt;br /&gt;2.&amp;#9;Licenser &amp;#47; API &amp;#8211; An API for checking a license&lt;br /&gt;3.&amp;#9;Licenser &amp;#47; Identification &amp;#8211; A tool that is used one-time by the end-user to display the computer id. The end-user e-mails the ID to the developer&amp;#47;license producer that will produce and return a license file to the client&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</description><author>eyall</author><pubDate>Fri, 30 May 2008 13:46:07 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080530014607P</guid></item><item><title>UPDATED WIKI: Home</title><link>http://www.codeplex.com/Licenser/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;
&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;A package used by the software developers for licensing their products.&lt;br /&gt;The produced license file is digitally signed. It is also specific for the licensed computer.&lt;br /&gt;The developer may license any feature in his program separately. Each of the license features might be time depended &amp;#40;optional&amp;#41;.&lt;br /&gt;&lt;br /&gt;In order to enhance security, the application has to pass to the licenser a PASSCODE during run-time. The PASSCODE is a text known only to the software developer, but does not appear anywhere in the license file.&lt;br /&gt;&lt;br /&gt;The feature information, as well as the licensed computer identification together with the PASSCODE are encrypted into a digital signature that is written in the license file.&lt;br /&gt;Any trial to modify the license information will cause an inconsistency with its signature that will invalidate the license. That will be also the case if a feature expires or the computer identification is differ from the one that is licensed.&lt;br /&gt;&lt;br /&gt;This package contains the following modules&amp;#58;&lt;br /&gt;1.&amp;#9;Licenser &amp;#47; Production &amp;#8211; A license production tool&lt;br /&gt;2.&amp;#9;Licenser &amp;#47; API &amp;#8211; An API for checking a license&lt;br /&gt;3.&amp;#9;Licenser &amp;#47; Identification &amp;#8211; A tool that is used one-time by the end-user to display the computer id. The end-user e-mails the ID to the developer&amp;#47;license producer that will produce and return a license file to the client&lt;br /&gt;
&lt;br /&gt;
&lt;/div&gt;</description><author>eyall</author><pubDate>Fri, 30 May 2008 13:45:31 GMT</pubDate><guid isPermaLink="false">UPDATED WIKI: Home 20080530014531P</guid></item><item><title>UPDATED RELEASE: Licenser Toolkit Source code (מאי 30, 2008)</title><link>http://www.codeplex.com/Licenser/Release/ProjectReleases.aspx?ReleaseId=13892</link><description>&amp;#33;&amp;#33; General&lt;br /&gt;The following &amp;#42;Licenser.Zip&amp;#42; is a Vistual Studio 2008 Solution, containing the source of all tree binaries in 3 projects.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Code version&lt;br /&gt;The following release, match the Source Code version ends in ChangeSet 19391&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Compilation order&lt;br /&gt;Basically, compiling the solution should work well. However, should reference error occurs, compile the solution in the following order&amp;#58;&lt;br /&gt;&amp;#35; LicenserAPI&lt;br /&gt;&amp;#35; LicenserIdentification&lt;br /&gt;&amp;#35; LicenserProduction&lt;br /&gt;&lt;br /&gt;</description><author></author><pubDate>Fri, 30 May 2008 13:35:48 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Licenser Toolkit Source code (מאי 30, 2008) 20080530013548P</guid></item><item><title>UPDATED RELEASE: Licenser Toolkit Source code (מאי 30, 2008)</title><link>http://www.codeplex.com/Licenser/Release/ProjectReleases.aspx?ReleaseId=13892</link><description>&amp;#33;&amp;#33; General&lt;br /&gt;The following &amp;#42;Licenser.Zip&amp;#42; is a Vistual Studio 2008 Solution, containing the source of all tree binaries in 3 projects.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Code version&lt;br /&gt;The following release, match the Source Code version ends in ChangeSet 19391&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33;Compilation order&lt;br /&gt;Basically, compiling the solution should work well. However, should reference error occurs, compile the solution in the following order&amp;#58;&lt;br /&gt;&amp;#35; LicenserAPI&lt;br /&gt;&amp;#35; LicenserIdentification&lt;br /&gt;&amp;#35; LicenserProduction&lt;br /&gt;&lt;br /&gt;</description><author></author><pubDate>Fri, 30 May 2008 13:34:55 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Licenser Toolkit Source code (מאי 30, 2008) 20080530013455P</guid></item><item><title>UPDATED RELEASE: Licenser toolkit Binaries (מאי 30, 2008)</title><link>http://www.codeplex.com/Licenser/Release/ProjectReleases.aspx?ReleaseId=13884</link><description>Binary run-time files of the licenser toolkit&lt;br /&gt;&amp;#42; &amp;#42;Licenser API&amp;#42; a library that is distributed together with the application, provides license checking services&lt;br /&gt;&amp;#42; &amp;#42;LicenserProduction&amp;#42; A license prodution tool, this tool maintains customers and licenses databases and &lt;br /&gt;&amp;#42; &amp;#42;LicenserIdentification&amp;#42; A Tool that enables the end-user to identify the computer to be licensed in a lock node mode.&lt;br /&gt;&lt;br /&gt;&amp;#42;_Code version_&amp;#42;&lt;br /&gt;The following release, match the Source Code version ends in ChangeSet 19391&lt;br /&gt;&lt;br /&gt;&amp;#42;_Note_&amp;#42; &lt;br /&gt;&amp;#35; dotNet 3.5 must be installed prior to toolkit installation.&lt;br /&gt;&amp;#35; The customer who produces a license must have all 3 binaries installed on the same directory.&lt;br /&gt;&amp;#35; The customer&amp;#39;s end-user who is executing a licesned application, must have &amp;#42;_LicenserAPI.DLL_&amp;#42; as well as &amp;#42;_LicenserIdentification.EXE_&amp;#42; installed in the application directory. The &amp;#42;_LicenserProduction.EXE_&amp;#42;  tool &amp;#43;must &amp;#42;NOT&amp;#42;&amp;#43; be installed.&lt;br /&gt;</description><author></author><pubDate>Fri, 30 May 2008 13:33:28 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Licenser toolkit Binaries (מאי 30, 2008) 20080530013328P</guid></item><item><title>UPDATED RELEASE: Licenser toolkit Binaries (מאי 30, 2008)</title><link>http://www.codeplex.com/Licenser/Release/ProjectReleases.aspx?ReleaseId=13884</link><description>Binary run-time files of the licenser toolkit&lt;br /&gt;&amp;#42; &amp;#42;Licenser API&amp;#42; a library that is distributed together with the application, provides license checking services&lt;br /&gt;&amp;#42; &amp;#42;LicenserProduction&amp;#42; A license prodution tool, this tool maintains customers and licenses databases and &lt;br /&gt;&amp;#42; &amp;#42;LicenserIdentification&amp;#42; A Tool that enables the end-user to identify the computer to be licensed in a lock node mode.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33; Code version&lt;br /&gt;The following release, match the Source Code version ends in ChangeSet 19391&lt;br /&gt;&lt;br /&gt;&amp;#42;_Note_&amp;#42; &lt;br /&gt;&amp;#35; dotNet 3.5 must be installed prior to toolkit installation.&lt;br /&gt;&amp;#35; The customer who produces a license must have all 3 binaries installed on the same directory.&lt;br /&gt;&amp;#35; The customer&amp;#39;s end-user who is executing a licesned application, must have &amp;#42;_LicenserAPI.DLL_&amp;#42; as well as &amp;#42;_LicenserIdentification.EXE_&amp;#42; installed in the application directory. The &amp;#42;_LicenserProduction.EXE_&amp;#42;  tool &amp;#43;must &amp;#42;NOT&amp;#42;&amp;#43; be installed.&lt;br /&gt;</description><author></author><pubDate>Fri, 30 May 2008 13:32:31 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Licenser toolkit Binaries (מאי 30, 2008) 20080530013231P</guid></item><item><title>UPDATED RELEASE: Licenser Toolkit Source code (מאי 30, 2008)</title><link>http://www.codeplex.com/Licenser/Release/ProjectReleases.aspx?ReleaseId=13892</link><description>&amp;#33;&amp;#33; General&lt;br /&gt;The following &amp;#42;Licenser.Zip&amp;#42; is a Vistual Studio 2008 Solution, containing the source of all tree binaries in 3 projects.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33;Compilation order&lt;br /&gt;Basically, compiling the solution should work well. However, should reference error occurs, compile the solution in the following order&amp;#58;&lt;br /&gt;&amp;#35; LicenserAPI&lt;br /&gt;&amp;#35; LicenserIdentification&lt;br /&gt;&amp;#35; LicenserProduction&lt;br /&gt;&lt;br /&gt;</description><author></author><pubDate>Fri, 30 May 2008 13:26:24 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Licenser Toolkit Source code (מאי 30, 2008) 20080530012624P</guid></item><item><title>CREATED RELEASE: Licenser Toolkit Source code (מאי 30, 2008)</title><link>http://www.codeplex.com/Licenser/Release/ProjectReleases.aspx?ReleaseId=13892</link><description>&amp;#33;&amp;#33; General&lt;br /&gt;The following &amp;#42;Licenser.Zip&amp;#42; is a Vistual Studio 2008 Solution, containing the source of all tree binaries in 3 projects.&lt;br /&gt;&lt;br /&gt;&amp;#33;&amp;#33;Compilation order&lt;br /&gt;Basically, compiling the solution should work well. However, should reference error occurs, compile the solution in the following order&amp;#58;&lt;br /&gt;&amp;#35; LicenserAPI&lt;br /&gt;&amp;#35; LicenserIdentification&lt;br /&gt;&amp;#35; LicenserProduction&lt;br /&gt;&lt;br /&gt;</description><author></author><pubDate>Fri, 30 May 2008 13:23:40 GMT</pubDate><guid isPermaLink="false">CREATED RELEASE: Licenser Toolkit Source code (מאי 30, 2008) 20080530012340P</guid></item><item><title>UPDATED RELEASE: Licenser toolkit Binaries (מאי 30, 2008)</title><link>http://www.codeplex.com/Licenser/Release/ProjectReleases.aspx?ReleaseId=13884</link><description>Binary run-time files of the licenser toolkit&lt;br /&gt;&amp;#42; &amp;#42;Licenser API&amp;#42; a library that is distributed together with the application, provides license checking services&lt;br /&gt;&amp;#42; &amp;#42;LicenserProduction&amp;#42; A license prodution tool, this tool maintains customers and licenses databases and &lt;br /&gt;&amp;#42; &amp;#42;LicenserIdentification&amp;#42; A Tool that enables the end-user to identify the computer to be licensed in a lock node mode.&lt;br /&gt;produce license files.&lt;br /&gt;&amp;#42;_Note_&amp;#42; &lt;br /&gt;&amp;#35; dotNet 3.5 must be installed prior to toolkit installation.&lt;br /&gt;&amp;#35; The customer who produces a license must have all 3 binaries installed on the same directory.&lt;br /&gt;&amp;#35; The customer&amp;#39;s end-user who is executing a licesned application, must have &amp;#42;_LicenserAPI.DLL_&amp;#42; as well as &amp;#42;_LicenserIdentification.EXE_&amp;#42; installed in the application directory. The &amp;#42;_LicenserProduction.EXE_&amp;#42;  tool &amp;#43;must &amp;#42;NOT&amp;#42;&amp;#43; be installed.&lt;br /&gt;</description><author></author><pubDate>Fri, 30 May 2008 13:09:39 GMT</pubDate><guid isPermaLink="false">UPDATED RELEASE: Licenser toolkit Binaries (מאי 30, 2008) 20080530010939P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/Licenser/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>eyall</author><pubDate>Fri, 30 May 2008 12:23:39 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080530122339P</guid></item><item><title>Source code checked in</title><link>http://www.codeplex.com/Licenser/SourceControl/ListDownloadableCommits.aspx</link><description></description><author>eyall</author><pubDate>Fri, 30 May 2008 09:18:41 GMT</pubDate><guid isPermaLink="false">Source code checked in 20080530091841A</guid></item></channel></rss>