InstallAware and Microsoft launch coupled MSI 4.5 beta

Rumors have been going around for a while, but now its official. As of tomorrow, InstallAware and Microsoft are launching the coupled MSI 4.5 beta.

As I wrote earlier, we’ve got a new MSI Transaction plug-in, as well as a new Windows Installer 4.5 runtime. Get them both here: http://www.installaware.com/msi45plugin.asp.

You’ll also need the actual MSI 4.5 beta binaries during setup. Download them at: http://connect.microsoft.com. We cannot bundle the binaries as yet – because this is a coupled beta, you’ll need to download the binaries directly from Microsoft and the InstallAware enhancements directly from us. Of course, as soon as Windows Installer 4.5 is launched, we’ll be bundling the binaries normally.

Stay tuned for the press release going out tomorrow and we’ll talk soon! 🙂

Panagiotis Kefalidis
InstallAware CCP — DataFire Software, Greece

InstallAware goes Aero with Vista Glass component

Hello again. I’d promised myself to make at least one post per week here, but the last two weeks, boy, have been a hell of a time for me – I almost broke my leg and then got a real bad cold that’s still bothering me. Now I know how Walt Disney’s Donald Duck feels about his bad luck. Anyway, my leg is better, it doesn’t hurt so much anymore and I’ve decided that its time to get back on this blog and post some new stuff. Some cool stuff, like the Vista Glass component on InstallAware’s forms designer.

The Vista Glass component gives the glass feeling (Aero) to your setup UI, making window regions appear “glassy” like Windows Media Player on Windows Vista. Although still in beta, it works like a charm. In this post, you’ll find info about how to use it, what it does, what the drawbacks are, how to overcome them and you’ll get a push on creating your very first InstallAware Theme with Vista Glass support. Amazing, isn’t it? And it gets better.

Getting Started

In order to start exploiting InstallAware’s Vista Glass features, you’ll want to create a new project (you could also use an existing project, but this is just experimentation so I suggest creating a new one). Then, in the visual designers, go to the “User Interface” section and click on the “Dialogs” option.

You get a list of the dialogs in your project sorted by the order they appear during install procedure. Highlight the “Welcome” dialog and get a preview of it, before beginning to apply Vista Glass effects.

 

When you double click a dialog, the form designer pops up, allowing you to change anything you want on your form, from simply re-arranging elements (textboxes etc.), to creating scripted events and reading/writing variables to interact with MSICode.

Let’s Go Glass!

Finding the Vista Glass component is really easy. Click the “Win32” tab and the right-most control on the palette is “VistaGlass”, the one we’re looking for.

Click the component icon and then click anywhere on the dialog form. The VistaGlass component icon appears on your dialog. Click it to edit it’s properties: change the “GlassEnabled” and “SheetOfGlass” properties to “True”. Just by doing this, you get a VistaGlass (Aero) dialog!

 

To preview your achievement, click on the Test Dialog toolbar button (the one with the thunderbolt icon).

Next Steps

You might be wondering if it’s really that simple. Basically, yes! You now have full Vista Aero Glass effects on your dialog. Due to the beta nature of the component however, some controls render awkward. We can make it all look better with some tricks. Instead of glassing the entire dialog, lets focus on glassing a targeted region first. We need to change two properties for this one. The first is called “SheetOfGlass” – change it from “True” to “False”. The second is “GlassBottom”, which sets the pixels occupied by the glass effect, counting up from the bottom of the dialog. With the “Official Theme”, try setting“GlassBottom” to “301”. Now our UI looks much better!

Pro’s and Con’s

It’s obvious that by using VistaGlass on your setup UI, you’re giving your users a richer setup experience. They get the “wow” before even having used your product for the first time, giving you a clear advantage over your competition just by using the right setup tool. Also, don’t worry if your setup needs to run on versions of Windows earlier than Vista. The VistaGlass component auto-detects the end-user’s Windows version, and disables the glass effect on legacy operating systems automatically, without any error messages or other undesirable UI artifacts.

The only issue is that some controls don’t render correctly, but you can easily overcome those issues (even at this beta stage). InstallAware’s flexible MSICode lets you do anything you want. For example, I’ve manually calculated the TotalRequiredSpace value using MSICode, because the static label showing TotalRequiredSpace renders incorrectly on Glass, as a black rectangle.

 

I used the MSIcode functions “Get Component Space” to get the total bytes required, “Mathematics” to convert those bytes into KB or MB, and then “Set Variable” to concatenate the string “KB” or “MB” at the end of the value – finally displaying the result in a regular label, which does render correctly.

Conclusion

I’ve said this before but I’m going to say it again. By leveraging the Aero Experience on your setups, you impress your customers – on every single trial download! Give them the “wow” feeling right from the beginning…with your setup! You can also create your own themes by using the VistaGlass component and building on top of empty dialogs, or based off of an existing theme. You could even replicate, for example, the look and feel of Office 2007 installations using the tab component!

That’s all for today. Stay tuned people, more to come.

Panagiotis Kefalidis
InstallAware CCP — DataFire Software, Greece

Get ready, because we’re launching.

It’s been a while since the last time we wrote something here, almost 5 months. We have been quite busy working on our products :)During this timeframe, we shipped InstallAware 7, the latest and greatest version of the industry’s premier setup authoring tool; and also a new beta for our exciting WiX IDE, WiXAware 2.0. But that’s not all!I believe this lack of posts and activity on our blog has been really worth it, because not only did we improve our products and launched two new major versions, but we’re now also announcing support for the upcoming version 4.5 of the Windows Installer engine! This makes us the first installation vendor to support Windows Installer 4.5, the same way we’ve been the first to support SQL Server 2005, .NET 3, as well as .NET 2.0. Unlike some other vendors (you know who you are), we’re making these updates available free for everyone just days after Microsoft publishes them 😉 So we’ll be releasing the free update for Windows Installer 4.5 as soon as a Go-Live license from Microsoft for it becomes available.

We’ve already built the Windows Installer 4.5 runtime for InstallAware’s Application Runtimes designer, as well as a new plug-in for leveraging new Windows Installer 4.5 functionality. As soon as Microsoft lets vendors redistribute the new Windows Installer 4.5 runtime, you’ll be only a few hours from taking advantage of all its new features, and start exploiting the much anticipated Chained Transactional Installs!So, what are Chained Transactional Installs? It’s pretty self explanatory, really. You can now officially chain multiple MSI installations one after the other, as part of a single atomic operation. If there is an error in one of the chained installs, or the end-user cancels the installation someplace in between, the entire transaction can be rolled back in a single operation, returning the computer to the same state it was in before the entire transactioned installs began. Of course, if everything is kosher, just commit the changes normally, and all changes made to the system are finalized in a single pass.

MSI Transaction Example Usage

InstallAware has always provided the most advanced bootstrapper technology of the Windows Installer industry, for instance you could already chain multiple MSI installs as part of a larger setup, monitor and natively display their progress in your master setup dialogs, and so on ever since our first release almost 4 years ago. And now, with the engine level fortifications Microsoft has made to Windows Installer 4.5, InstallAware further enhances the reliability and resiliency of chained MSI installations. The good news is you do not have to make any major changes to your existing setups! Just add two lines of MSIcode leveraging the new MSI Transaction plug-in, creating transactioned installation blocks around your runtimes and/or any other MSI files that you are installing, and you’re set!There’s no need to worry about compatibility issues as packages and patches authored by previous MSI versions are fully supported by the MSI 4.5 engine. Also, packages targeting MSI 4.5 contain some new tables and actions for the new features, but when you run an MSI 4.5 package on an older engine, such as MSI 3.0, everything will still work smoothly by ignoring the new tables/actions. Of course, any new features and functionality based on MSI 4.5 won’t work, but your setups will still install properly without throwing unwanted errors. Our new MSI Transaction plug-in won’t fail either when MSI 4.5 is not available, instead it returns a descriptive error code back to your MSIcode script, letting you handle the condition as you see fit (for instance, by forcing the installation of the new Windows Installer engine, or by discarding transaction support).I was quite amazed by the speed improvements during installation. It’s much faster and much more stable, without strange failures during installs and unexplained messages even at this beta stage. Just imagine what the RTM version will be like, if the beta “flies” like this!Currently this beta version of the MSI 4.5 engine runs on most recent versions of Windows, starting with Windows XP SP2 and Windows 2003 SP1, and of course including Windows Vista. While MSI 4.0 was not supported on older platforms, Microsoft is now making this “down-level” support available for MSI 4.5, a welcome improvement. MSI 4.5 will be embedded into Windows Server 2008 (Codename Longhorn Server), and it is planned to be included in Windows Vista SP1 as well.

MSI 4.5 will be available as a stand-alone update from the Microsoft Download pages. If you want to give it a try, you’ll have to register at Microsoft’s Connect page, where the beta is available. After completing the registration process you’ll be able to download any necessary files MSI 4.5 needs to install, as well as updated documentation. Please note that we can’t redistribute runtime files during their beta stage because this is prohibited by Microsoft, but if you already have the MSI 4.5 runtimes, just drop us an email and we’ll make our new runtime installer package and the new MSI Transaction plug-in available for you, free of charge 🙂

Windows Installer 4.5 Runtime Installation MSIcode

Of course, InstallAware’s new Windows Installer 4.5 runtime takes care of installing this update for you in just a single click. It’s actually a fairly complex process on Windows Vista. Vista features a new update mechanism, called the Windows Update Stand-Alone installer, along with a new kind of system update file format. Updates are no longer served as independent EXE’s that we were used to working with on the down-level platforms. The bug with the Windows Update Stand-Alone installer is MSI 4.5 cannot be silently installed, complicating the delivery process and ruining the end-user experience. A hot fix for this bug must be installed beforehand (unfortunately, it’s not automatically pushed to client machines through Windows Update). The good news is, our new Windows Installer 4.5 one-click runtime install correctly handles this case and installs this hot fix when necessarySo you’ll have unsurpassed reliability and deliver your end-users with the best installation experience, in the good InstallAware tradition.Once again we’re bringing you the latest technologies, beating any other vendor to it!Keep watching this space as we’ll have more helpful tips, how-to guides, sample scripts and other time saving tricks posted here regularly (no matter how aggressive our product release schedule is). I’m here to make your time spent with InstallAware more fun and enjoyable!

Panagiotis Kefalidis
InstallAware CCP – DataFire Software, Greece

My Good Friend Anthony

Until recently, I was very fond of British Airways. They have awesome full-flat beds in business class, as well as nice lounges where you can wine and dine yourself to your heart’s content. Sure, their staff could be friendlier – I once had an airline attendant “quiz” me on the location of the nearest security exit after the “security presentation”. I should have asked her if she would like me to blow in the vest as well 😉 But overall, it was good value.

Until recently. The last time I was flying, British Airways lost my luggage. Needless to say the love-hate slider between myself and BA made a little more progress towards the hate end that day. Brilliantly, I had also put my cell phone in the suitcase, which was also lost now. The first thing I did out of SFO was to buy a new temporary cell phone. I gave BA the number so they could keep me up to date on the “property irregularity report”.

The next day in the middle of an important meeting, my temp phone rang. I excused myself, saying I just had to take this call – really didn’t want to miss it if it was the airline. So the voice at the other end spoke:

“Anthony?”

“Um…excuse me, who?”

“Is Anthony there?”

I wished so badly for them to be calling from BA. I “figured” maybe she has the wrong name or something:

“Where are you calling from?”

“??? San Francisco!”

Turns out it was the wrong number, plain and simple.

Sadly, I did not get a call from BA for the remainder of that day (even though I had been promised one). However, I did get a call from Anthony himself 🙂

“Hey dude…have you been getting calls for Anthony?”

“Yes.”

“That’s me.”

“OK…”

“Look dude, I change phone numbers a lot, and I move around a lot. If somebody calls me, tell them you don’t know me, you don’t know who I am, you don’t know where I am, and you don’t know my new phone number. Just tell them you don’t know anything about me and hang up.”

WOW! Now this was entertaining 😀

“Man, how would I know who you are or where you are anyways?”

“OK thanks dude, I gotta run!”

As Anthony had predicted, a lot of people did try to get in touch with him. There were lots of calls that started like this:

“This is not a sales soliciation. This call contains important information about your account…”

There were also some strange text messages:

“Im home gogo ?!gangsta go da rnb thug!”

(Don’t ask me what that means – although I imagine Anthony might know)

Overall, during the course of the next weeks, I held on to the phone just to see what else I might find out about Anthony. I found out his last name through a friend who called, as well as the numbers of some of his friends. But Anthony himself remained elusive, even though I kept getting lots of his traffic 🙂

And BA? They were in the process of actively losing my luggage when I made a trip to SFO two days later. My bag was sitting right there at the terminal and for some reason, they had not scanned it upon arrival. The unhelpful staff were now apologetic. I guess that’s it for flying BA and their business beds 😉