Thursday 21 August 2008

Tip: Release Version Management

During my work on Software Development one of the issues I had to consider is a way of numbering different software releases. Below is a list of examples specifying different releases and their corresponding versions. Number in brackets corresponds to internal version of compiled assembly. Number before brackets displayed in About Box or Splash Screen for a user.

V1.0 RC1 (1.0.0.1) This is a Release Candidate 1 or Beta Version 1 sent to testers
V1.0 RC2 (1.0.0.2) Testers found errors and development team released fixes in Release Candidate 2
V1.0 (1.0.0) First Stable Release which deployed to production
V1.0.1 RC1 (1.0.0.1) Fixes made to production version sent to testers in Release Candidate 1
V1.0.1 RC2 (1.0.0.2) Fixes made to errors found by testers and released in Release Candidate 2
V1.0.1 (1.0.1) Version with fixes released to production
V1.1 RC1 (1.1.0.1) New features are introduced and sent to testers in Release Candidate 1
V1.1 RC2 (1.1.0.2) Fixes made to errors found by testers and released in Release Candidate 2
V1.1 (1.1.0) Stable Release with new features deployed to production

And so on ....

Now you may notice a couple of unusual records. First, testing release start from 1.0.0.1 and second, stable release internal version has only 3 digits. For Windows Environment Variables Manager (EnvMan) I implemented a code that displays RCx wording depending on internal assembly version and so for it not to get confused about when to  remove leading 0s Beta versions start from 1. See code sample below.

/// <summary> /// Gets the package version. /// </summary> /// <value>The package version.</value> public string PackageVersion { get { string VERSION_SEPERATOR = "."; Version version = Assembly.GetExecutingAssembly().GetName().Version; string build = (version.Build == 0) ? string.Empty : VERSION_SEPERATOR + version.Build; string revision = (version.Revision == 0) ? string.Empty : " RC" + version.Revision; string packageVersion = "V" + version.Major + VERSION_SEPERATOR + version.Minor + build + revision; return packageVersion; } }

Second unusual statement: For stable releases can be a problem when trying to install it on top of beta version. MSI Windows Installer may get confused between versions. I haven verified this yet, but it will be safer in this case to remove any Beta versions before installing production release.

I am happy to hear any feedback, please share your experience in the comments.

Tuesday 19 August 2008

Better way to work with Remote Desktop Terminal Services

As a developer I need to be able to remotely access and control different development and testing computers. Remote desktop for Microsoft Terminal Services is one of the solutions which already built into Windows XP or Vista.  I did try different remote access managers that allow to maintain access using different connections, which are VNC and Terminal Services, but I am not going to cover them here. I will show a simple and easy way of creating a Remote Desktop shortcut. Advantages of this method are that it is easy to change short cut properties and tweak different Remote Desktop settings.

We are going to use mstsc.exe tool. This is the name of the Remote Desktop application, and is required for the shortcut to work properly. It has a number of parameters we can use to setup our connection.

image

Now we are going to look at different examples of using this tool.

1. Create remote desktop connection in full screen.

mstsc.exe /v:192.168.x.x /f

2. Create remote desktop connection in fixed screen resolution.

mstsc.exe /v:192.168.x.x /w:1152 /h:864

Wednesday 13 August 2008

SQL Server Tip: Login failed for user 'username'

After Installing new instance of SQL Server 2005 I run into a problem with logon exception "Login failed for user 'username'. The user is not associated with a trusted SQL Server connection. (Microsoft SQL Server, Error: 18452)". After googling on Internet I found a couple of links, which explain and show how to solve a problem.

This exception happens when SQL server was configured to operate in "Windows Authentication Mode (Windows Authentication)" and doesn't allow
the use of SQL accounts. To fix it change the Authentication Mode of the SQL server from "Windows Authentication Mode (Windows Authentication)"
to "Mixed Mode (Windows Authentication and SQL Server Authentication)".

Tuesday 12 August 2008

Free Multimedia Resources for Developers

When developing software or web pages one of the dificulties is to find nice icon and sound files that could be used for User Interface. Bellow is a list of links to web resources for GUI.

Soundsnap.com - is the best platform to find and share free sound effects and loops- legally.

Free Icon Collections