Monday, August 24, 2009

lc.exe exited with code -1 and how to fix it

LC.EXE is the Visual Studio license compiler. It compiles licenses and includes them in the assembly resources. The license compiler returns -1 when a licensed component is removed.

Under the Properties Folder in the Project folder you find the file licenses.licx. You must open this file and remove the reference to the component. And you must remove the Reference in the assembly references as well. After that the project will compile without an error.

Sunday, February 22, 2009

Spell checking and Hypenation- the .NET way of Hunspell

On our homepage i use a .NET based CMS which is able to hyphenate the text with soft hyphens (SHY). I've used a large dictionary for this, but i want to improve this a little. If you google spell checking and hyphenation you fill find sooner or later Hunspell. Hunspell is the spell checker used in OpenOffice and Mozilla Firefox 3 & Thunderbird.Unfortunally this is C and C++ code and not .NET. So i looked at the library and see it is only x86 and ugly to marshall. The simple PInvoke way was obstructed.

I decided to use managed C++ to port this code to .NET and implement a proxy patetrn to use the original code wih only little modifications. I've hosted this project on Sourceforge and gave it the name NHunspell for .NET Hunspell. This is the project URL:

Hunspell is tri licenced under GPL/LGPL/MPL, and NHunspell follows this. If you nedd a spell checker for the :NET plattform you can give it a try.

Thursday, January 22, 2009

Web Application Stress Test

Ok, sometimes i regret having windows vista 64Bit on my development machine. An today was such a day. I tried to set up a web stress environment for our new web portal.

I tried several great tools like OpenSTA and WebLoad to run on my Windows Vista, but nothing worked. The i downloaded quite angry the good old Web Application Stress tool from Microsoft and run it as admin. And it works.

Our new Portal has its business logic on a .NET based windows service, so i want to test interprocess communication via WCF and a named pipes channel. The WAS tool works great for this and i could tune my IPC to get a throughput of about 80 pages per second. I think this isn't so bad for WCF. But i try to become better.

I've used a channel pool for my wcf channels ad come now to 1000 / pages per second. A roundtrip of a simple function ( bool Test(bool foo ); ) need about 50uS on a named pipes channel. The processing of the on the IIS takes much longer. For now the things have become right. I can place the business logic on the app server and get a killer throughput because of efficient caching. This is the way i like web applications.

Sunday, January 18, 2009

Launch of new Web portal: Urlaub und Reisen

We have launched the development of a new web portal for travel agencies. It is hosted on origo a the ETH Zurich in Swizzerland. This project is the first big test for our new web technologies. It is programmed in C# with the .NET 3.5 Framework.

Project URL:

Origo is a great hosting site for open and closed source projects.

Wednesday, December 10, 2008

UPS Update killed our web server

Our web hoster (big German hosting company) has updated his UPS today and killed our web servers. Therefore our servers are down. They (hopefully) fix this today. This is quite annoying, because we had a DDos Attack last month. That shows again the vulnerability of Internet based systems.

Thursday, December 4, 2008

MSE-iT Setup Bootstrapper first Demo

I've just released a small demo, with only two pages. The background and the software box are merged together with the new support of 32bit bitmaps with alpha channel.

The background drawing consists of four overlapped bitmaps:
  1. dialog background bitmap
    It displays the general background and the logo. Alle background elments who are immutable.
  2. page background bitmap
    It displays the background for a page. It is alpha blended over the dialog background, and contains only the additional elements for the page background
  3. dialog background localized bitmap
    It displays text and other things, which are different for every language, but immutable for the dialog.
  4. page background localized background
    It displays text and other things, which are different for every language and page.
You can download and test the bootstrapper here:
MSE-iT Setup Bootstrapper

Saturday, November 29, 2008

MSE-iT Setup Bootstrapper is now open source

Ever installed a .NET application? Windows Installer XML (WiX) is really great to develop your MSI packages. But what if the user hasn't installed the .NET Framework oder some other prerequisites? Then you need a bootstrapper! A bootstrapper is a program, mostly SETUP.EXE that does the dirty job for you. But you can't develop a bootstrapper in C#, because of the missing .NET Framework. MSE-iT has a nice bootstrapper written in C++ with a very small footprint. We will use this for our brand new accounting software for travel agencies. And i will provide it to the community:

Project on CodePlex:
MSE-iT Setup Bootstrapper

The project is in Setup stage, it will be available in a view days.