We recently virtualised our production K2.Net 2003 server and were faced with one key problem: an invalid license key. Now this in itself is not a big deal, it is pretty easy to get a new license key out of SourceCode – they are really good on their customer service – but it did take me a while to realise that this was the problem!
My tale of woe started off with me trying to access the K2 Service configuration on the shiny new virtual server, but coming up against the message box of doom: Authentication with the server failed. I proceeded to try every trick in the book to sort out an authentication issue: credentials, authentication package, the DisableLoopbackCheck registry key – nothing worked. As it turns out, my problem wasn’t authentication in the traditional sense, and the key indicator of this was that my Security Event Log was clean the whole way through.
So, having decided that it was nonsense that my all of my event logs were clean – given that the software clearly wasn’t working – I decided to run K2Server as an application rather than a service because it gives you a very nice console showing everything that happens. Paydirt! The server was throwing an error because the license key was invalid, and not continuing to initialise. Unfortunately this left me with the issue of how to change said license key, or even how to get the new System Key in order to get a new license key. Read on to find out what I did.
If you can’t access the server configuration then the only way you can get your system key is from the installer so the first order of business was to head on over to Control Panel, fire up Add/Remove Programs and hit the Change button on the entry for K2.Net 2003. I then walked through the installer up to the license entry screen and grabbed the system key from there. Getting a new license key was very straight forward from here because SourceCode are very eager to help their customers. Now, to update the License Key for the server without using the Service Manager you must access the database and update the _Server table with the new key.
Not actually that complicated in the end, but quite scary when you have a scheduled, time-bound outage during work hours and the clock is ticking.