It’s been quite a while since I posted anything here. There are many factors that influenced this but the two most important are the fact that I changed my job (and now I’m working with completely different set of technologies, namely Solaris, C++, Java, etc.) and the fact that I have been working on a little program of mine currently called SharpSetup. This program is based on my previous thoughts expressed in this blog (see Windows Installer thoughts and Bootstrapper). On the new site I will try to show the motives for creating the program, who is it for, present some design choices, technical problems, show how it should be used and in general describe all possible aspects of SharpSetup.
Detecting SQL Server instances is quite a common task. We know why there is a need for detecting servers (to make UI more intuitive and less error-prone), we know how to present it to the user (usually an editable combo box) but how to get the actual list of available servers is not always easy.
Read the rest of this entry »
Configuring lighttpd to support multiple virtual hosts is pretty simple. Configuring lighttpd to support PHP is just trivial. But how to configure lighttpd with simple vhost to support PHP that is running with permissions of system user that is assiciated with specified virtual host is not that obvious. But it is certainly possible. Read the rest of this entry »
In my first post I described an idea to write software installer using C# (or any other language). The installer should consist of 3 main parts: bootstrapper, main GUIc and basic MSI file (possibly with c# custom actions). In this article I’m going to describe the bootstrapper. Read the rest of this entry »
When software package is being built as part of continuous integration process it is usually assigned a unique version number. When we build whole project at once it is quite simple: sources are downloaded from source control repository, scripts update version number in source files (for C# applications it is usually AssemblyInfo.cs file), project is built and published. Sometimes, however, we would like to split build of one product across multiple projects (as seen by CI software, for example CruiseControl.NET). Read the rest of this entry »
Windows Installer (also known as Microsoft Installer – MSI) is crap. Not that I’m anti-MS. Every company of this size has good products (here I would count .NET Framework and Visual Studio), medium quality products (Windows), low quality products (Visual Source Safe) and crap (Windows Installer). But surely there must be a way to make it a little bit more developer-friendly. Read the rest of this entry »