ISWIX, LLC View Christopher Painter's profile on LinkedIn profile for Christopher Painter at Stack Overflow, Q&A for professional and enthusiast programmers

Monday, June 30, 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.

Friday, June 27, 2008

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.

Thursday, June 26, 2008

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!

Wednesday, June 25, 2008

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.

Saturday, June 21, 2008

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.

Thursday, June 19, 2008

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





Friday, June 13, 2008

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.

Tuesday, June 10, 2008

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.

Monday, June 9, 2008

Upgrade to Windows Installer 4.5 with the Free InstallAware 7 Update

I couldn't help notice that InstallAware is updating their product for full MSI 4.5 RTM ( Not Beta2 like another well known Installation Tools Vendor ) and they aren't even charging for the upgrade:

Below is the text of the announcement:

InstallAware is the first and only software installer to fully support Windows Installer 4.5. We're making this support available to you in less than 48 hours after Microsoft's release of the final version of Windows Installer 4.5. Download the free Windows Installer 4.5 update for InstallAware at www.installaware.com/msi45plugin.asp. Remember, this is a free update for all InstallAware users - trial or licensed.

Take a look at the new capabilities of InstallAware 7 with this free Windows Installer 4.5 Update:

"MSI Transaction" MSIcode Command: Add Windows Installer 4.5 functionality to your existing setup projects. Chain multiple setups together in a single atomic transaction. A failed setup, or an end-user abort, will roll-back the entire system to the state before installation began. This additional layer of security and reliability applies to all your chained setup packages - including complex application runtimes such as the Microsoft .NET Framework - thanks to new features in Windows Installer 4.5.

"Windows Installer 4.5" Application Runtime: Automatically install Windows Installer 4.5 on all supported platforms. Runtime installations can be complex, and MSI 4.5 is no exception. For instance, on Windows Vista, some hotfixes are required before MSI 4.5 can be installed - unfortunately they are not served automatically through Windows Update. Not to worry, because InstallAware seamlessly installs MSI 4.5 for you on all supported platforms, with a single click!

Unlike Windows Installer 4.0, MSI 4.5 is also supported on downlevel platforms such as Windows XP and Server 2003, so there is no excuse not to upgrade. Even if you are trying to install an MSI 4.5 package on an unsupported platform (such as Windows 98), InstallAware gracefully downgrades the package features and your installations will still succeed - even if you have chained multiple setup packages together.

Find out more about what makes InstallAware so good. As part of our Windows Installer 4.5 launch special, we'll give you an unconditional 20% discount when you purchase InstallAware by Friday the 13th:

www.installaware.com/msi45rtm.asp

using discount coupon MSI45. Your price is only $719 - this offer cannot be beat! What's better, the 20% discount applies to other extra's like floating licenses and 2 years maintenance, saving you up to $412!

Why suffer with former industry leading brands, or their copycat clones devoid of any innovation? InstallAware beats the competition every time in bringing you the latest technologies and updates, absolutely free of charge. Order now and you'll be well on your way to building reliable installers that are ready for tomorrow's technologies - today:

www.installaware.com/msi45rtm.asp

Don't delay - this Windows Installer 4.5 launch special is valid only until Friday.

Please contact me directly if you have any questions about this launch special - we always welcome your feedback.

Kind regards,

Candice Jones
Account Representative
InstallAware Software Corporation
336 Guerrero Street
San Francisco CA 94103-3332
415 839 5017

Sunday, June 8, 2008

Digital Rights Management Stinks

I'm a little older and right of center then many techies that I know. That probably explains why it takes me a few more years to become annoyed about certain issues.

However, I now really agree with them: Digital Rights Management stinks.

It stinks to have to evaluate XenoCode Postbuild at home instead of at work because their program expects to phone home and my corporate firewall says hell no.

It stinks to have to use InstallShield offline activation because of the same reason. Of course, let's not even talk about highly secure environments where the xml fragment that initiates the offline activation is never allowed to leave the room.

It stinks to pretty much have any dependency that assumes communications ability with an external vendor that may or may not exist one day.

It would also really suck if Acresso went out of business and I wouldn't even be able to use the software that I purchased. You know... it could happen. I know that I've seen enough to never again recommend someone purchase an InstallShield maintenance agreement. They really are pointless if they can take away functionality from you in an upgrade or worse they go out of business.

DRM on software just screws the people who are legal, not the people who don't care. After all,
IS2009 has been out for what, 2 days now and it's already been hacked and posted on the torrent sites. Go figure, you'd think that coming from Macrovision it would be a little harder then that. Then again, I've seen how easy it is to download and transform the stand alone build so I'm not sure why I would be surprised.

Thursday, June 5, 2008

InstallShield 2009: Value Added Services???

Recently I read Windows Installer Expert Extraordinaire Stefan Krueger recently blog:


A remark about the "Value Added Services": Please consider carefully if you really want to install things like the Yahoo! Toolbar with your software. Your customers may not appreciate it. Personally, I get annoyed if a program tries to install unrelated software or browser add-ons. On the other hand, you'd be in the company of Adobe (Adobe Reader wants to install Google Toolbar) and Apple(QuickTime wants to install iTunes, and iTunes wants to install Safari during update). InstallShield expert Christopher Painter seems to have similar objections.


I also noticed Rod Trent of myITForum tonight post:

If this won’t kill a product line, nothing will… Yahoo! and Acresso Announce Multi-Year Yahoo! Toolbar and InstallShield Distribution Agreement

http://www.myitforum.com/absolutenm/templates/?a=5068&z=71

Here’s a quote from the article:

As software companies face slower growth, the strategy focuses on options for them to generate additional revenue and provide new capabilities for their customers.

This makes both companies seem really desperate for sales, and to me, this is not a value-added services strategy, as they say in the article. We know Yahoo is in trouble, but this article really smells of another buyout for Acresso on the horizon -- and so soon after the separation from Macrovision.



Then this evening I received the following email from a reader:


From: Anon
Subject: Big Ball of Yuck

[
News Article]
Chris,

Wow... did you know about this back when you blogged about bundling crapware with installs? What a load!! I know they're spun off and looking for new revenue streams, but seriously...

To clarify, yes I was aware of this and yes I agree with Stefan. This topic came up during the IS2009 Beta Cycle as a thread called "Forget the Yahoo Toolbar" [Edit: Despite the fact that previous discussions from previous beta cycles have been made public, Acresso has gone back and censored this forum by locking it down with a password] and many of us fruitlessly voiced our disagreement. Unfortunately I couldn't talk about it due to an NDA. ( Well, technically it was just a good faith confidentiality agreement. I never really signed an NDA which is why I blogged about certain enhancements to InstallShield while honoring Yahoo!'s sensitivity on the matter. ) My thinly veiled blog about rogue software installers was about as far as I was willing to go to try to get attention to the subject without spilling the beans.

InstallShield Stand Alone Build

Back when InstallShield 12 was released, Macrovision made the decision to move the Stand Alone Build to the Premiere Edition in order to try to drive customers towards the more expensive product. An uproar subsequently occurred from customers who were under maintenance agreements. These customers felt that by taking away a piece of functionality that is critical to SCM best practices that they weren't getting what they had paid for. After all, since when is a downgrade, an upgrade?


As a result, Macrovision listened to their customers and grandfathered certain customers with rights to use the SAB. However, with the release of IS2009, Acresso has gone back and revoked that right.



I have some really strong feelings on this which I'm going to try to leave out of this post. I will instead focus on a couple facts and then ask that all of my readers please leave comments with their opinions. No comment will be moderated. Also, please take my poll on the subject.



1) I recently found a bug in the IS2008 SAB. After two weeks were spent confirming the bug, the answer I was given that the bug is fixed in IS 2009. Of course it wasn't mentioned to me that I wouldn't actually get IS 2009 SAB.



2) If I can't upgrade my build farm to IS 2009 SAB, then there is no point in upgrading any of the developers because I won't be able to perform production builds.



This effectively means that both my support and maintenance contract is worthless in this scenario.



IMHO, I understand that TCB made a $200 million investment and that they are now trying to make a case for why Premiere is worth more money then Professional. But taking core functionality that is vital to SCM best practices away from customers who have prepaid for maintenance upgrades isn't the way to go. Additionally, failing to be upfront and communicate the change to the user community is even worse. From every product management article I've read, these two principals are a given. Then again, Acresso is currently looking for a Product Manager for the InstallShield brand so perhaps that explains such a huge gaffe.


Ultimately Acresso will once again listen to their customers, or the customers will vote yes or no with their money.



I look forward to your comments and your poll answers.

Wednesday, June 4, 2008

Chicken and the Egg

MSI 4.5 is out, and it has a new feature that allows you to embed a custom UI handler inside the package and invoke it without needing bootstrapping setup.exe.

Pretty cool, right?


But wait, I see a Chicken and the Egg problem. How do you first get MSI 4.5 on the machine to use this feature? Well, with a bootstrapping setup.exe of course!

Hmmmmm

Now, I know some will argue that you can just set the Schema to 405 and make the user go resolve the problem on their own. But is this really a good user experience?

Then of course who really wants to be writing a custom UI in C++? WinForms is so much easier. Hopefully DTF will be updated very soon to support this capability.

But wait, there is another Chicken and the Egg problem. How do you first get NetFx20 on the machine? Well, with a bootstrapping setup.exe of course!

Hmmmmm

Now, I know some will argue that adding a .NET dependency to the install is a bad thing, but WinForms really rocks.


Now InstallShield has a very capable bootstrapper, and I'm glad I have it. But I do like the vision ( even if we aren't all the way there yet ) of having a single MSI that we can just run.

Am I missing something? Is there another way to solve this problem? Or is it just a matter of waiting several years until everyone upgrades to Windows 7 and we can be confident that MSI 4.5 and .NET 2.0 is already on the box? If that's the `solution` to the Chicken and the Egg problem, I wish this feature had been in MSI 1.0.

It kind of reminds me of why the Commodore 128 was such a failure. It had all these new capabilities that were never used because there were just way too many Commodore 64 owners who couldn't be ignored. We software developers do tend to write for the least common denominator after all.