April 2006 - Posts

The 0xe0434f4d code

Have you ever experienced the 0xe0434f4d exit code and thought, what the heck is that!

Tess has a nice blog If broken it is, fix it you should which in a post explains how to interpret the exit code which is very good.

0xe0434f4d means that it is an exception from the CLR, ie any managed exception is referred to with this code.

And she also explains what the funny 0xe0434f4d means:
0x43 0x4f 0x4d are the ASCII codes for COM!

Internet Explorer 7, beta 2

Wow, thats my opinion of Microsoft Internet Explorer 7, beta 2. I have been running the preview of the beta 2 for a while and I am so pleased with the upgrade (ahem - new) browser.

I have been faithful to Internet Explorer through the last years and I sure will be one truly loyal user for a few more years - if they will speed up the adaptation to new techniques in the upcoming releases.

The tabbed interface works smoothly, rendering feels faster, RSS reader is really good and simple, and it feels pretty compatible with older sites (except my internet bank and the community server version that dotnetjunkies run on :-).

I really recommend everyone to take part of the beta and evaluate the beta - which Microsoft even have phone support on (in US and some other contries).

WIX - accessing properties in script CustomActions

My last post showed how to use VBScript functions as CustomActions. More than often you need to access some of the properties you have defined in your WIX files, for example an installation directory, a connection string etc.

To access these properties just use the Session object and it's a Property property.

Here's an example with two properties used:
set adam = GetObject(Session.Property("ADSERVER") & "/" & Session.Property("ADSPATH"))

The WIX file should contain two properties:
<Property Id="ADSERVER" Admin="yes" >LDAP://server</Property>
<Property Id="ADSPATH" Admin="yes" ></Property>


The Property property is read/write so you can manipulate the properties within your code.

WIX - CustomActions using VBScript

Here are some small tips when using VBScript CustomActions using WIX.

Creating a script CustomAction
First of all you have to create a CustomAction in your WXS file:

Id_Of_ScriptAction is a unique Id of your CustomAction
ID_of_binary is the unique Id of the binary that contains the vbs file.
Script_Name is the name of the Sub or Function in your vbs file.

Creating the VBS file
Create a .VBS file with a function or sub that should be executed.
Sub DoThis
   MsgBox "Hello there..."
End Sub


Add a Binary to the WXS file
After creating the script you have to include it into your WXS file. This is done by creating a Binary element like this:

Id_of_binary is a unique id
Local_Path is a local path (relative to the wxs file)

Add the action to the install sequence
After doing all this you have to tell the installer when and where to execute the custom action, this is done by adding the action to the InstallExecuteSequence element

...
Condition
...

Id_Of_ScriptAction is your custom action.
For more information on the Custom element and the After/Before/Sequence attributes, check out the WIX help file and/or this tutorial.
Note: The Execute attribute of the Custom element should be Deferred to execute during the install sequence or Immediate to execute it while the install script is executed, see MSDN for more information on this.


This blog has moved to http://www.wictorwilen.se/.

Stored Procedure Object Interface Layer - SPOIL

Check this out - Stored Procedure Object Interface Layer (SPOIL).
It's a really nice framework to use when working with Stored Procedures. It helps you map stored procedures directly to methods in .NET applications.

Microsoft Windows Installer Xml - WIX

I have for a few interesting weeks been using Microsoft Windows Installer Xml, aka WIX, to create an MSI installer for our software solution (finally the number of installation has increased so it was worth it :-).
Our software is higly configurable and modularized so I needed to use a tool more advanced that the built-in installers in Visual Studio.Net - and the choice was to use WIX.

For you out there who doesn't know what WIX is then the short story is that; WIX is toolset that builds Windows installation packages from XML source code. The source code and binaries to WIX can be found on SourceForge.

To create an MSI you just tap in some XML code and use the provided compilers and linkers and you are up and running in a few minutes - with a simple installation package.
Bur, when making a more complex installer you will probably run into trouble due to the lack of documentation on the subject, even if it contains a nice help file I found out that Google was the best source of documentation.

I ran into some troubles when I was creating CustomActions and I thought I would write a more thorough article about that in a near future. I found out that making CustomActions using scripts (VB and JavaScript) was really successfull.

Are you interested in reading more about WIX check out the blog of Rob Mensching or this great tutorial by Gábor Deák Jahn.

What do you think about WIX?

And finally: congratulations to the WIX project which celebrates two year anniversary today.