My GameSetupHelper library is making good progress. I was finally able to get some insight into the workings of WiX and Windows Installer.
I'm just about to create a small installer template for XNA games that will automatically check whether the required system components are available (for XNA games, these are DirectX 9.0c with the D3DX library from October 2006, the .NET Framework 2.0 and of course the XNA Framework).

What I'm looking for now is feedback on the installer (you can find a download link for an example .msi at the end of this article).
- Is the detection working for you?
- Do you think the presentation is okay?
- Do the logo bitmaps look abhorrent? (I'd happily accept any contributions *wink*)
- Would people be scared by the additional slide during setup? (I tried to be honest about what the installer does to your system and at the same time follow MS recommendation to just silently install anything that's required)
- Do I violate any licenses with this? (I am including the official redistributables inside the MSI file, which to my understanding is legal)
- Anything else that you think might be wrong or missing?
I plan to release the sources of this template for free once I'm done. If you absolutely need to get that installer sources NOW, just send me a mail :)
| Attachment | Size |
|---|---|
| 369.5 KB | |
Perfect
I gave it a quick try on my dev machine and it worked like a charme (it discovered DX9, .net2.0 and XNA)! For me the bitmaps look just fine,.
But there is something not quite clear to me: You say the installer "checks whether the required system components are available" but talk about some silent installation. What exactly would your installer do, if it does not find one of those required components?
That's up to the Developer
What I'm creating there is actually just an installer template. That means it still needs to be customized by the developer (add files etc.) to become a real installer.
I'll provide three settings in the template to choose from when creating the installer:
Licenses
I think that it would be great if the supplemental licenses (xna, directx, .net) were displayed after the check and only the licenses for the products that will be installed.
So if directx is already installed, then no need to display it's license.
Also, I was thinking it may make more sense to have each license get it's own page in the installer with it's own check box to agree.
Just my 2 cents...
Other then that, I think it's a great idea
Awesome! Very professional
Awesome! Very professional looking. I would love to see the final revision.
Thanks,
Ziggy
Ziggyware XNA News and Tutorials
Rather Difficult
I wanted to keep all the licenses on a single slide. I think having the user click 'accept' four times in a row is far too bothersome for the typical gamer.
Displaying only the license of the components that have to be installed is certainly doable, but would require me to either write 8 different variants of the license text or deliver the license rtf to the installer by means of a custom action because of the way windows installer is designed. Both would make it rather hard for the developer to insert the EULA for his own product into the installer template.
And showing the detection page first and asking for the license thereafter seems wrong to me. See, what if Joe Gamer decides to check out 'MyCoolGame', goes through the trouble of downloading and installing .NET, XNA, DirectX and thereafter the licenses page pops up telling him "by installing this game, you agree to sell your soul to satan in exchange for the unique playing experience". If Joe Gamer now decides to actually not accept the license, he'll have installed all the third party components for nough.
I'll see if I can come up with some optimizations, but currently I think what I have is the best compromise.
This looks really cool. I
This looks really cool. I imagine that it will stop a lot of people not being able to figure out what they need to download to run games made with XNA.
Fanastic! I want one!!
Fanastic! I want one!!
Very nice
I could really do with this installer tool, the test installer worked great.
Hopefully then people will stop complaining that they already have directx...
I'm not sure how you plan to generalise this to install any game - but ideally it would be as easy as giving it a zip file, then it compiles it all to a single exe which checks and installs prerequisites, then extracts it in the right place.
Keep up the good work. Please :)
This looks great. Add me to
This looks great. Add me to the list of people interested in this installer template when you finish it. I do have one big suggestion, though, and I think it will help this match the Microsoft guidelines closer:
Don't show the items that "pass" at all. It's sort of silly to say "Congratulations, you have something already installed" in an installer. If a user already has .NET 2.0 don't bother letting them know that they already have it. Just show the items that are not met. If the user has everything, don't show the extra page at all. There's a semi-standard Microsoft install screen that I've seen recently in probably an Office install, but I don't have any screenshots at hand. The screen says something to the effect of "The following dependencies will be installed automatically:" and a simple expando listbox that showed the component or components where clicking on them would reveal the extra details like what you have written underneath the names. I think something similar to that here would be great, particularly if we can somewhat easily expand the same screen to add our own dependencies to the same screen (should the need arise).
Does that make sense?
Post new comment