Monthly Archives: June 2008

Hyper-V running Fedora

I don’t talk about this much, but I wasn’t always a Windows GUI guy. In fact I spent many years programming Commodore 64’s and Apple II’s. My first shell was CPM on a Commodore 128 and of course I spent many years on Amigas back in my FidoNet BBS days. I used to be raving nut case when expressing my hatred for Bill Gates and Microsoft. Of course that was the proper thing for any self respecting Amiga fan-boy back in those days. Let’s face it, MS-DOS/Windows 3.1 really did suck compared AmigaDOS/WorkBench. Back then I had a GVP GeForce040-33 board and I ran MSDOS/Windows via PC-Task and had an Emplant board for MacOS so I was no stranger to emulation/virtualization.

Then one day I realized it was time to get out of the Marine Corps and go pro. I built my own 486DX-120 and loaded Slackware on it. Over the following few years I actually spent quite a bit of time on various Linux and Unix OS’s ( Slackware, Mandrake, Redhat, DGUX, HPUX, Solaris ) doing back end ANSI C programming and shell scripting for various Department of Defense Client/Server systems. It’s amazing how many vi commands I still remember. But for the last few years I’ve really gravitated away from that world and into a GUI world of NT and .NET. I still remember all the old stuff, but for the life of me I can’t imaging why anyone would actually prefer to write code with such primitive tools.

Lately I’ve been playing with Hyper-V a lot and I thought it was really cool that not only could it run Windows but it can just as easily run Linux.

So I fired up a torrent to pull down the latest Fedora 9 and decided to install it. I haven’t really done much with it yet but I’ve got to admit, it has a wonderful blue motif logon screen.

Phenomenal cosmic powers! Itty bitty living space.


For those who remember the movie Aladdin, “Phenomenal cosmic powers! Itty bitty living space.” is a perfect quote for my new server that I have been working on for the past week or so.

It’s unbelievable what a 2.4 ghz quad core, 8GB of memory and terabytes of RAID storage can accomplish. Thanks to Hyper-V I’ve set up an entire network of virtual machines that provide every function needed for the proper development and testing of applications and installers. It really rocks!

As an aside, I saw yet another red motif troll post so here’s a plug for blue just for fun.

Three Reasons it’s a Great Day

1) After nearly 70 years of silence, the Supreme Court of the United States of America has finally ruled that gun ownership is an INDIVIDUAL right and struck down the District of Columbia’s ban on hand guns. Way back when I was in the United States Marine Corps, I lived in a row house in South East DC … 6Th ward. I had bars and locks on all of my doors and windows and would routinely hear gun fire at night while working on my FidoNet BBS. I couldn’t believe that as a trained marksman in the US Armed Services that I couldn’t have a weapon in my very own home while all of the violent criminals in the nearby areas were packed to their teeth. Texan leaders played a huge roll in this case and to them I say THANK YOU. Everyday ( and today in particular ) is a great day to be a Texan.

2) Hyper-V is RTM!!!!! ( Of course this would happen as soon as I build my server. I hope it’s an easy upgrade!) VMware should be afraid, very afraid.

3) After being out of service for two days, our HVAC is finally working. Whew, damn it’s hot in Texas!

Ask the readers…

I need some suggestions from everyone out there.

We are considering moving away from our current install product to a new one. I need some suggestions on what should be put on our short list for evaluation.

Here is a little information about our environment and requirements:

  • Integration with PVCS would be a definite plus
  • We support multiple languages (FIGS, Turkish, Japanese, Chinese, Portuguese, et al)
  • Support over 40 products with multiple branches (~150 projects in all, conversion will be a factor)
  • Support for Windows 2000 SP3 (Pro and Server), XP, Vista, Server 2003, Server 2008, IIS5 and above, SQL 2000 and above, Oracle 9i and above
  • We have a homegrown automated build application so OLE automation /COM support is an absolute must
  • x86 & x64 support

I think those are major factors for consideration. I would be interested to not only hear from users but also Product Managers if they wouldn’t mind hearing from a squeaky wheel.

InstallShield 2009 SP1 Released

Windows Installer Expert Stefan Krueger reports that InstallShield 2009 SP1 is now available. In case you are wondering why an RTM product would need a Service Pack in 15 short days, well it basically has to do with decisions that were made to ship 2009 with MSI 4.5 Beta 2 support in time for TechEd 2008. So in my mind, this is the `REAL` InstallShield 2009 and hopefully Acresso will continue to release service packs to address problems found.

Like Riding a Bike

Lately I’ve been realizing that I needed to upgrade by build/install/test infrastructure at the house. For the past few years, I’ve been buying laptops and a quick review of Newegg revealed that I hadn’t built a machine since 2003. Wow, had it really been that long?

I’ve always been a hardware geek. My first hard drive was a Xetec Lt Kernal 40MB for a Commodore 128D. Installation required that I make certain modifications to the motherboard. Later I’d have various Amigas where I’d replace the OCS chipset with an ECS chipset, install a Fat Agnus, upgrade Kickstart ROMS and of course install ZIP DRAM modules. Wow, that’s going back aways… 15 years?

I’ve built many machines since then. When I lived in NoVA I’d reguarly take clients shopping and build up a rig for them. So much time would be spent studying the current sweet spot and features/limitations of all the products available. My skills were so well trusted that I was actually allowed to build white box build servers for a large government contract that normally played it very safe. One day we had some fried caps ( it really smelled ) and within 2 hours I’d gone to the local vendor, picked up another motherboard for a very cheap cost, and brought the build box back up. Anyways, it’s really funny to see what Virtual Server 2005 emulates since I knew the 440BX, Trio64 configuration very well.

So what did I buy? I went with an Antec NSK4480 case with a 380Watt 80+ PS. An Intel DG35EC uATX motherboard with integrated video, audio, usb, firewire, SATA-II, PATA and GigE, an Intel Q6600 2.4G Quad Core and 8GB of DDR2-800 memory. Frys had some good deals for a change so all of this inc tax and same day pickup was $550. Not too bad.

I’m going to reuse some hard drives for now but soon I’ll be picking up a couple WD 300GB Raptors. Those really look like nice drives.

I’m currently loading it up with Server 2008 and Hyper-V. I also want to setup SqlServer 2005, TFS 2008 Workgroup Edition, TeamBuild, a development VM and a bunch of test VM’s for integration. Man, it’s going to be so much fun. 🙂

InstallShield Stand Alone Build Announcement

Two weeks ago, I blogged about Acresso’s decision to finalize the removal of the Stand Alone Build Engine from InstallShield 2009 Professional. This decision adversely effected certain long-term, loyal customers who had purchased maintenance agreements with the expectation that this core feature would remain. While I disagreed with the notion of InstallShield Professional not coming with a build box component for new customers, I found it utterly revolting that existing customers would loose this critical piece of functionality for which they had prepaid. Windows Installer Expert Stefan Krueger also shared his thoughts but a link to his blog ( InstallShield 2009 Caveats) is currently not available. Additionally many of my readers stood in solidarity and expressed their opinions to Acresso.

Over the past two weeks I’ve had back channel conversations with employees of Acresso and other members of the community. Today I have some progress to report: Jeff Greenwald, Director of Enterprise Product Management, has formerly announced that these customers will be taken care for this release. However, future versions of InstallShield will have the Stand Alone Build moved to Premiere so this fact should be considered when deciding your future purchasing options. I’ve also expressed some ideas on additional ways to sell the Stand Alone Build and Acresso will attempt to work out a business model that makes sense for all.

Below is the post from Jeff:

We recognize that their may have been some confusion regarding the availability of the Standalone build with the release of InstallShield 2009. To assist our longtime loyal customers in this transition, we are granting access to the Standalone build functionality under the following criteria. Specifically, InstallShield 2008 Professional customers on active maintenance who also licensed InstallShield Professional 10.x or InstallShield Professional 11.x will be granted access to the Standalone build functionality.

For future releases of InstallShield, the Standalone Build functionality will continue to be packaged exclusively with the Premier Edition as announced with the release of InstallShield 12 in 2006. InstallShield Professional customers looking to leverage the Standalone Build module will need to upgrade to the InstallShield Premier edition. Each full license of InstallShield Premier Edition includes 10 Standalone Build modules.Efforts are currently underway to update the Standalone build installer to support the model described above. Additional information will be posted to this community once these efforts are completed.

Thanks,

Jeff Greenwald
Director, Product Management

1500 Hard Drives

Maybe it’s just been a long week, but this one really cracked me up today. I know it’s made it’s way around the internet, so please forgive me advance…

Btw, nice house. Perhaps I should be modding consoles instead of writing installs.

Maybe I Should Roll My Own

I’ve been wondering, maybe I should just roll my own WiX designer.

Yes, I’m serious.

Sure, I’ll wait for you to pick yourself up from the floor.

OK, seriously. Can it really be that hard? Let me share with you a screenshot of a program that yours truly (who happens to be a very, very junior .NET developer ) was able to throw together in just a few hours thanks to a few pointers from an experienced .NET developer that I work for:

So let’s assume I’m not trying to write a full blown authoring tool. My requirements and needs are fairly straight forward. I use InstallShield in a product line development environment to consume merge modules to build multiple product configurations with various setup.exe requirements. The merge modules come from upstream builds and could easily be broken out further into WiX fragments. Therefore, much of the integration work could still be done in InstallShield while splitting out much of the remaining component authoring to WiX.

I currently have the infrastructure in place to bring all of this together as TFS/TeamBuild can just call Votive/WiX and InstallShield projects to build the fragments, merge modules and installer packages.

The problem I face is that Votive only comes with a simple text editor with basic IntelliSense support. I find it to be very clumsy to use and now I understand why. I read a few articles yesterday on External Domain Specific Languages in XML and one comment that really stuck with me was that XML can be an easy language to read by domain experts but much more difficult to author.

What if I could just have a simple designer without a lot of heavy abstraction to help me bring against the code?

Well, I’ve just realized that it really wouldn’t be that hard to do. I’m sure the .NET developers reading this are laughing but remember, I write installers for a living, not applications. My skill sets and experiences are generally optimized for a different purpose. For those who aren’t laughing, let me explain what I learned today.

WiX distributes an XSD schema ( and others for various extensions ) called WiX.xsd. You can run the XSD files through a utility called from Microsoft called XSD.EXE and get a class file that contain classes describing your schema. There are ways to bind these classes to a XML document that allow you to then import and export valid XML. You can also associate the classes to various WinForms controls to give you a visual representation of your document.

If a rank .NET amateur can do something this simple in a day, I can only imagine what a group of experts could do if only given the right user story and resources.

So now I have a decision to make, should I try to organize and take this any further? I read all over that there is demand for this type of tool, but I keep wishing that Microsoft, InstallAware or Acresso would just fill the void with a top quality and affordable tool.

WiXAware is a good start but it’s based on WiX v2, is buggy as hell and is incorrect in certain areas. For example, WiXAware makes you define a feature before you can define a component when authoring a fragment. This is clearly incorrect and a simple exercise in reflection reveals that each element class has an Items property that has custom XmlElementAttributes describing the allowable child elements.

Perhaps Microsoft will wow the world with Rosario.

Either way the future is becoming very clear to me, if someone would just take the time to make it happen.

Debugging Legacy InstallScript Engine Problems

I just read an article from ParanoidMike (Installshield – great for developers, sucks ass for victims (aka everyone else) where he does an excellent job of debugging an uninstall issue. He also rips InstallShield during the process.

Some of his conclusions are wrong, but that’s not the point. It doesn’t matter that it isn’t InstallShield’s job to support him ( Intel, where he happens to work, wrote the package ) . It only matters that when you are a company like InstallShield, it’s always your fault. So while InstallShield 12 was a step in the right direction, it’ll take years to be free of the legacy.