Tuesday, October 25, 2005

Technology AND Process in Software Development.

Most people think technology solves all issues not realizing importance of process. I am often a believer that the process should be in place before adopting the technology. Sometimes software teams try to fit new technologies with older process. This further adds to complex and error prone process and hence wasted efforts. Therefore it’s of utmost important to define a new process when a new technology is planned. Unfortunately this would mean more time needed from the Architects to establish such a mechanism since they cannot use an older process. But more than not utilizing the older process it also is an issue of convincing the developers and management more convincingly. This is like saying hurricane Wilma would be a two or a three either way you need to be prepared for it.

Monday, October 10, 2005

Custom Session state in .NET

In .NET 1.1 session state could be inProc, on a state server or in sql server. What if we want to store the session in Oracle DB or any other storage location? We have to extend the session state functionality. The session state was handled by an httpModule. Unfortunately in 1.1 the session state class was not extendable unless a wrapper was created around it that accessed the methods within the session state class via using reflections. This is a complicated task and can be done. Good news with 2.0 is that there is an interface called SessionStateProviderBase that can be used to create the custom session state.

Saturday, October 01, 2005

Extracting contents from MSI ( Windows Installers )

I needed to extract contents of the MSI without installing it. Interestingly ORCA would show the contents but its not easy to extract the binaries from the MSI. The solution was to use WIX (To download WIX click here) . After you have copied WIX on to your machine. Run the following of the commandline

Dark.exe MyNewInstaller.MSI SomeFileName.XML /x c:\MyFolder

The SomeFileName.xml can be ignored. It contains the complete XML mapping of your msi. /x is used to indicate the path where the content needs to be extracted.