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!