A few months back a former coworker of mine introduced me to a web site called 99 Bottles of Beer. The premise of the site is simple: One Program in 1023 variations. I couldn't help notice that Windows Installer was missing. I wanted to implement an MSI version but there was one catch: MSI doesn't really have any arithmetic operators and I didn't want to be cheesy and call out to a custom action since that really wouldn't be pure MSI.
Fortunatly Kalle Olavi Niemitalo pointed out to me that you could fake it using single digit string properties like this:
Property Table
Dec9=8
Dec8=7 ( and so on )
ControlEvents
[NextTemp] Dec[NextIndexOne]
[NextIndexOne] [[NextTemp]]
If you start off with NextIndexOne = "9" then NextTemp is assigned Dec9 which in turn assigns 8 to NextIndexOne. A fake decrement operator. You can do the same thing for the tens position when a rollover of the ones occurs and add some additional logic for when you get to 0.
It's kinda silly but fun and hey, Windows Installer just HAD to be represented!
October 23, 2006
Subscribe to:
Post Comments (Atom)
1 comments:
I posted the InstallScript version to that site back in 1999. Nice to see an MSI submission now as well!
Post a Comment