views:

447

answers:

1

I have an app that on first installer run needs a boostrapper where you can choose the language of the installed app, install .net framework if it's not there yet and some other prerequisites.

  1. I've taken a look at the WiX How To: Install the .NET Framework Using a Bootstrapper but I don't see how to use this for other custom prerequisites.
    What's the best bootstrapper to use for this?

  2. After the app is installed we have an update check on the app startup. if a new version exists we need to download it and upgrade the software.
    This wouldn't be a silent upgrade because the EULA and some other stuff might change in the meantime so we still need a GUI for those checks in the updater msi. So i'm considering different options on how to do this.
    My first thought was to have 2 separate installers. The first one would be with the bootstrapper and full GUI, the other would be with minimal GUI for updates. Is there a better option?

  3. I'd also like the access to the update installer on the to be limited to only users that have the software actually installed. i'm not quite sure of the best way to do this.

I'm familiar with the WiX upgrade process itself with the upgrade code etc... so that's not the issue.
I'm just looking for a way to design all this in the best way possible.

Any ideas are appreciated. I'm using WiX 3.0.5419.0 from Visual Studio 2008.

+4  A: 

I've taken a look at the WiX How To: Install the .NET Framework Using a Bootstrapper but I don't see how to use this for other custom prerequisites.

You can use the same technique (i.e. the msbuild GenerateBootStrapper task) to install custom prerequisites, but you'll have to author your own bootstrapper packages.

One way to do this is to study the existing bootstrapper packages in C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\BootStrapper\Packages\ (or the ones in the Windows SDK) and read the documentation of the Bootstrapper Manifest XML format. The bootstrapper generator tool might also be helpful.

As for auto-updating your application: it's not supported by wix. I believe there were once plans to add this functionality under the name clickthrough, but I don't think those plans ever matured. If they did, I can't find any documentation about it.

Wim Coenen
i've been playing with dotnetInstaller http://dotnetinstaller.codeplex.com. it looks great!so you say that my update strategy is sound?
Mladen Prajdic
I'm not sure. My answer focuses on question (1). The only thing I say about auto-updating is that it is not supported by wix. Also, my answer doesn't mention dotnetinstaller. That's an alternative answer altogether. So I'm a bit confused by your comment here...
Wim Coenen
i just said i was using dotNetInstaller as a bootstrapper and that it works nicely. that's it. ah i thought your update comment implied my update idea was ok. guess i implied wrong :)
Mladen Prajdic