WiX v3.10 Release Candidate 2 build available

After shipping “the” WiX v3.10 release candidate back in June, we finished off a couple of features that required us to wait for Visual Studio 2015 RTM to be released. We also took a couple of trivial, small, and minor changes. So it’s time for another release candidate, to make sure WiX v3.10 is ready to ship.

Download it here.

If you find a bug, please report it as soon as possible.

Update: Here’s what Rob has to say about RC2.

Here’s what happened since RC1:

The WiX Tutorial has a new home

Gábor started the WiX Tutorial during the WiX v2.0 days. (Ah, we were all so young, then.) Over the years, the tutorial has grown to cover WiX v3.x and built a localization project to help contribute localizations to the WiX project.

Now the WiX Tutorial has moved to FireGiant. Take a look at the blog post I wrote to announce it. Then take a look at the tutorial itself. And do let us know what you’d like to see in the tutorial going forward!

FireGiant’s new blog

Take a look.

At FireGiant, we’ve been wanting to talk about some of the things we’re doing with and for WiX. It turns out, sometimes 140 characters aren’t enough. Rob blogged about the refresh of the FireGiant Web site. My contribution was the first (of many, many) posts in the blog Setup Matters.

Setup Matters represents two concepts: We’re going to talk about setup because setup is important. These aren’t new concepts, if you’ve been following along these past 11 years or so.

Starting tomorrow, I’ll be summarizing the weekly(ish) WiX online meetings on Setup Matters.

Subscribe so you don’t miss out on anything interesting.

On joining FireGiant

I’m beyond excited to announce that I’ve joined FireGiant. Rob, CEO and co-founder of FireGiant, has known me for more than 10 years—plenty of time to get to know my strengths, my motivations, and my amusing quirks (what others might call peculiarities).

So when he appeals to all three by offering me a job where wearing pants is optional, how could I refuse?

(Note 1: I don’t mean to imply that Rob opened by mentioning the no-pants thing. I mean, it would’ve been perfect if he had, but I want the record to be clear.)

(Note 2: It’s likely that pants are optional only because FireGiant is a distributed company—unannounced drop-ins are unlikely. And as long as I keep my webcam pointed in the right direction, nobody’s going to know anyway.)

I’ll be working on FireGiant’s service offerings like support and custom development. Other things are on tap and I look forward to talking about them when the time is right.

Changes to my work on WiX

On the one hand, there are none.

I’ll continue to act as the release manager for WiX v3.10 and any other future releases we do in the v3.x series. I’ll keep participating in the WiX online meetings, wix-users and wix-devs threads, and even StackOverflow.

I’ll also continue to contribute bug fixes and features to WiX, just like I’ve been doing for the past 10 years.

10 years.

Wow.

Where was I? Oh yeah…On the other hand, however, being part of FireGiant will have numerous benefits for my work on WiX.

Most of my best (in my humble opinion) contributions to WiX came from my day-to-day work using WiX and finding a need that was best solved inside the WiX toolset. For example, while working on Flight Simulator, I needed firewall exceptions and while working on App-V, I wanted to simplify major upgrade authoring.

Day-to-day exposure to those kinds of problems makes me a better WiX contributor and a better project leader. I’m looking forward to getting more of that exposure than I’ve gotten in my own consulting and freelancing since resigning from Microsoft four years ago. (Really? Four? Time flies and all that.)

One size fits all

I’m excited to join FireGiant not only because FireGiant is a great fit for me and not only because I’m a great fit for FireGiant—I mean, really, who wouldn’t want me to be on call as their own personal WiX expert?!—but also because I believe FireGiant is a great fit for WiX.

For 10 years, I’ve loved being part of a small team of volunteers working on WiX. And I recognize that for WiX to keep growing, to be viable in any organization regardless of spot or lack thereof on the Fortune 500, some people need to be able to rely on a guarantee of support. FireGiant provides that and I’m thrilled to support WiX in that way too.

Getting shelf space in the Store

Reading the Windows Store for developers blog recently, I was pleasantly surprised to see that desktop (i.e., non-Metro-style) apps would be allowed to show up in the Windows Store. Desktop apps won’t get the same treatment as Metro-style apps, of course; instead of being able to install apps right from the Windows Store, desktop apps will have a similar listing page with a link to the developer’s site to handle download.

Still, it’s better than nothing — the Windows Store is likely to have a lot of window shoppers looking to buy apps.

However, a hurdle to get an app listing page is that the app must pass “certification.” In the past, this was known as the Windows Logo program and had many pages of technical requirements. In Windows 8, the list is much smaller and less prescriptive. For example, the Logo program for previous versions required the use of MSI, then required MSI or ClickOnce; for Windows 8, there are no technology restrictions.

Some requirements that struck me as interesting:

1.2 Your app must not take a dependency on the VB6 runtime

VB6, IE6 — anything v6 must go away. 🙂

5.1 Your app must properly implement a clean, reversible installation

If the installation fails, the app should be able to roll it back and restore the machine to its previous state.

If Windows 8 certification is anything like previous versions’, it will involve automated test suites that will highlight rollback that’s less than perfect.

5.4 Your app must never block silent install/uninstall

So don’t throw UI from custom actions and don’t rely on being able to prompt the user (i.e., also don’t break requirement #5.1).

6.1 All executable files (.exe, .dll, .ocx, .sys, .cpl, .drv, .scr) must be signed with an Authenticode certificate

MSI packages aren’t mentioned. But if you ship a Burn bundle or other bootstrapper .exe, that’s going to require signing.

10.1 Your app must be installed in the Program Files folder by default

There’s nothing mentioned that would exempt per-user apps in general from this requirement, though you can always request exceptions. Given the emphasis Metro places on per-user, restricted apps, perhaps this requirement will be extended/relaxed for per-user desktop apps too.

10.6 Your app must write user data at first run and not during the installation in “per-machine” installations

Long-time readers of wix-users will recognize this as advice given again and again. Good to see Windows catching on. 🙂

10.7 Exceptions and Waivers

A waiver is required for apps that write to the global assembly cache (GAC) .NET apps should keep assembly dependencies private, and store it in the app directory unless sharing an assembly is explicitly required.

I suspect it’s a response to the GAC getting used too often when it’s not needed or very useful. (See also Rico Mariani’s blog post on using NGen, which falls into the same boat.) Still, I’m mildly surprised to see it a requirement.

12.5 App running under the WoW64 emulator should not attempt to subvert or bypass Wow64 virtualization mechanisms

This one’s interesting, depending how struct “subvert” turns out to be. For example, several WiX custom actions make fairly trivial “subversions” of WoW64 to avoid the need for both 32-bit and 64-bit custom actions just to write to the right version of Program Files.

All in all, there’s nothing terribly surprising in this set of requirements. A lot of them just codify what’s already known as best practice for Windows apps in the age of UAC. Of course, this is just the first version of the certification requirements and Windows 8 isn’t yet shipping; there’s plenty of time for Microsoft to add, drop, or change requirements. In the end, you get to decide whether the effort of certification is worth having a presence in the Windows Store. Remember the Metro-style app folks, who have no choice in the matter: The Windows Store is the only way they can ship.