Strangelights

Another tech blog.

 

pduck.com

Published: 2004-10-03

Not strictly a wix site, but lots of interesting about windows installer:

http://www.pduck.com

Continue reading ...

 

Wix Custom Actions

Published: 2004-09-27

An msi is really a relational database made up of a number of tables. When an installation runs the windows installer parses the msi and then queries tables to see what actions it must perform. Msdn has a complete list of tables that the windows installer uses and it’s very worth while checking it out because it will give you a good idea of what you’re install is going to do and why.

 

If you use certain wix elements you may notice they create tables that are not listed in the msdn documentation. This is not because they are undocumented tables, it is because the msi format allows you to define custom tables and these custom tables will be ignored by the installer service.

Continue reading ...

On the 10th September a new version of wix was released. This included two library files that would add the necessary elements to you’re wix file to drive the custom actions. This means creating a new user now works correctly. I’ve even tested adding the user to a group seems to work okay, although I am little cynical to whether this will work on a machine set up in a foreign language as the name of well know groups varies here. I will be testing this when I return to Denmark on tomorrow.

 

I’ve created a new version of the user installation example, which can be downloaded here. To get it to work correctly you will need to place the files sca.wixlib, scaexec.dll and scasched.dll from wix\ca into the directory you unzip the sample to.

Continue reading ...

 

Inferred type system

Published: 2004-09-14

 

A couple of days ago I was reading a post about dynamic languages (scripting languages with good PR) on lambda the ultimate. The author wrote “’strong’ typing is not the same as ‘explicit typing’”, which is very true and got me thinking about inferred type system, such as the one F# uses.

 

Continue reading ...

If you have had a look at the documentation you’ve probably noticed a few elements like “ServiceInstall”, “User” and “WebVirtualDir”. What these elements all have in common is that if you add them to a wix document they will compile and link with out any problem, but they will not do anything at all on installation. If you take a closer at the msi produced using the reason they do nothing becomes clear, for example the User elements generates a table called user in the Msi and if you read the windows installer documentation you will quickly see there is no User table defined.

 

But why go to all the bother of putting these elements into the wix schema if they don’t do anything? They are there because they are designed to work with the wix custom action dlls, that is “scasched.dll” and “scaexec.dll”. The idea behind these is that common task such as creating users, installing services and virtual directories have been given there own set of wix commands even though they are not natively supported natively by the windows installer. I think this is a really good idea, but there is a down side, which I’ll cover towards then end of this post.

Continue reading ...

I’ve always been interested in the inner workings of ASP.NET, and with ASP.NET 2.0 coming out along with a new version of F# I decided I’d have a better stab at creating some kind of support of ASP.NET in F#.

 

To create a page the framework compiles the aspx source into a .NET type that derives from System.Web.UI.Page. In the frameworks version 1.0 and 1.1 the API that did the compilation of ASP.NET pages was very closed. Most of the classes in them were declared as internal. Sure the model was extensible you control which classes were the compilation with web.config or the machine.config but you couldn’t reference any of the types involved in compilation in the so you couldn’t get any help parsing the asp.net page. Very annoy, becasue parsing is a difficult task and Microsoft have done all the hard work of turning an aspx page into a code dom, yet there not prepared to let the world use these methods. Of course the code is not part of the rotor code base.

Continue reading ...

 

Links update

Published: 2004-08-19

There is a new version of F# coming, so I've started to revamp my site. I started slowly with a revamp of my links page. I think I now list just about everything google can find on the F# programming language.

Continue reading ...

Rob Mensching has been promising to put an updated version of WiX with better written documentation on sourceforget.net for a while now. But at the time of writing the May 27th build is still the latest one. But do you know what? I’m beginning not to care. I’m actually getting to the point where I can do anything I want: though the gifts of dark and orca (for examining what’s going on in an msi) and virtual pc for an easy way to test roll outs.

Continue reading ...

I needed to add a CustomAction that removed the native image from the GAC. To do this I came across more slightly odd behaviour from the windows install platform so I thought I’d write a blog entry about it.

 

Continue reading ...

 

Nemerle

Published: 2004-07-05

A functional programing language being created with the mono framework. Interesting stuff:

http://www.nemerle.org/

Continue reading ...