Ramblings & Rants

Michael Sanford on Windows Installer, Software Development and life in general!

My Windows Installer Validation Tool...

I was working on one my next MSDN articles (hint, hint), which deals with writing a custom validation engine for Windows Installer packages (*.msi files), when I had the brilliant idea of going a step further and implementing it as a command line app which could be used with the WiX toolset.  It’s working like a champ now, but I’m not quite ready to release it.  I’d like to solicit some feedback from anyone who’s interested in this sort of tool!

So, here’s what I have so far:

  • Command Line executable
  • Outputs XML to stdout (it assumes you’ll redirect to a file, then do something with it)
  • Allows you to suppress “info” messages
  • Allows you to suppress “warning” messages
  • Allows you to use custom *.cub files
  • Works for Merge Modules
  • Free of course! ;-)

 So – would this sort of thing be useful for you?  What else would you like to see it do?

If you have any ideas, I’d love to hear them!

BTW, I named it smoke.exe.  Where there’s smoke, there’s fire.  “Smoke test”…  Get it?  Got a better name?

 

UPDATE:  So, I posted this to the WiX mailing lists as well, thinking those guys would have some good ideas or words of encouragement.  What do I get?  Cracks about Orca and MsiVal2 as though I did not know they existed...  Sheesh...

I'll repeat here what I said there (basically):

Orca does validation, but not from the command line

MsiVal2 does validation from the commandline, but not in a useful way

The idea here is a command line tool that you can integrate into automated build processes.  For example, you could:

  • Transform the XML into a nice html report
  • Flag the build as being bad if an errors creeps into your msi
  • Use XSL to filter out noise
  • Check the return value and take action or bail out
  • Extend the source code to do whatever the heck you want

Of course, neither Orca or MsiVal2 can do any of that... 

Seriously, I would have expected people involved in open source development to embrace new ideas and people interested in contributing...  Besides, if the mere existance of another tool mitigates the need for something newer, better or cooler, then what the heck are they doing?  I guess they forgot about MsiDb.exe, MsiFiler.exe, MsiMerge.exe...

But whatever...  To be honest, I'm not that surprised.  I drafted a post a while back on their plans to write an authoring tool, but it was pretty critical, so I opted not to post it.  Maybe I'll reconsider...

Anyway, I think it's cool, and I'm already using it on a client project...  If you want to check it out, just drop me a line!

Comments

Michael said:

One additional feature that Orca (and I think msival2) has is the option to only run selected ICE's. So that might be another optional command line arg to have.

I thought I had joined the WiX Toolkit mailing list, but I hadn't seen any emails - I just thought it was a slow group. I will have to look into that again. :)
# December 16, 2004 12:04 AM

Michael said:

Good Suggestion! Thanks for that!

I think I'm going to be posting this and at least one other code sample on DeployNow.com in a day or two (as soon as I get some of the kinks on the site worked out).

The WiX Toolkit mailing lists get pretty good traffic. The "users" list is the busiest with anywhere from 2 to 30 messages a day.
# December 16, 2004 8:23 AM

TrackBack said:

Imagine a blog entry where I come to two conclusions about MSI validation and interacting with people.
# December 16, 2004 9:00 AM

TrackBack said:

Imagine a blog entry where I come to two conclusions about MSI validation and interacting with people.
# December 16, 2004 9:05 AM

Michael said:

Hi Michael,
a scriptable COM interface would be a nice feature! Makes it nice n clean to call from a vbscript etc.

best of luck with it!

Conor.
# December 16, 2004 11:32 AM

Michael said:

Smoke seems to be a cool little tool, but what about if there is not cub file?

Also - I agree as to you comments on the Wix community from what I read of the GUI discussion on the user list. But, I would guess that most of the people on that list are more Microsofties than OSS people. Any how...great work!
# January 5, 2005 3:42 PM

Michael said:

As you know I'm working on a command line tool for the same purpose.

I'd be happy to use yours and save myself the trouble (assuming its free). I'll try to locate it on your site in a minute! Mine was going to include these capabilities:

(1) As well as specifying which ICEs (note that they don't need to start with the 3 letters "ICE" or be 5 chars total) to perform, it would allow you to specify which validations NOT to perform. I probably would have used regular expressions for this.

(2) Allow Multiple CUB files which would be merged (ignoring any duplications or only merging certain tables from all but the first).

Bye,
Dennis
# January 13, 2005 12:40 AM

Michael said:

nice work. as mentioned - useful blogwise
# January 25, 2005 2:31 AM

TrackBack said:

^_^,Pretty Good!
# April 15, 2005 5:34 PM

TrackBack said:

^_~,pretty good!csharpsseeoo
# May 18, 2005 10:59 PM

TrackBack said:

My Windows Installer Validation Tool...ooeess
# July 22, 2005 2:06 AM

TrackBack said:

My Windows Installer Validation Tool...ooeess
# August 2, 2005 8:05 PM

TrackBack said:

If people were following the the WIX-Users Mailing list, they would find that it has been a little hot recently. The first instance (as far as my knowledge goes) was with Michael creating a validation tool for the WIX Toolset called 'smoke'. I personally
# August 30, 2005 9:40 PM

credit report repair said:

This is a great blog. I have to put a bookmark on it and come back again!

# September 12, 2009 1:01 AM

free wp themes said:

Ok this is great info

# October 11, 2009 6:11 AM
Leave a Comment

(required) 

(required) 

(optional)

(required)