I've spent the past couple weeks configuring a bootstrap process with
dotNetInstaller beta version 1.6. dotNetInstaller can handle pretty much
everything you require except for the following statements:

Removal: It sounds like you are asking the removal of your app to remove the
prerequisites that the bootstrapper installed. Bootstrappers are not
designed to do this because it is a bad idea. Other programs may need these
prerequisites, including the PIA assemblies. Your users should know how to
uninstall a program.

Customized properties: Bootstrappers are designed to combine prerequisites
and your single MSI. I can suggest three ways to handle partner-specific
customization. You could provide separate downloads for each installation.
In this case, your build process would build separate MSIs and would
generate a separate bootstrapper EXE for each partner. dotNetInstaller
supports this scenario. A second alternative is to include customization
dialogs as part of the MSI that set properties based on the selected
partners. The third alternative is to design this partner-specific
customization into the app itself, post-installation.

Post-installation execution of Excel: The bootstrapper cannot really handle
this automatically because the bootstrapper does not run again after the app
is installed. In fact, the user may have deleted the installation
EXE once your app is installed. Your app should detect the missing
PIA scenario and initiate the PIA installation.

The hard part of dotNetInstaller, and most bootstrappers, is that they do
not come prepackaged with URL settings or executables for prerequisites. You
have to provide those yourself.

I might also suggest not trying to bootstrap OS service packs. You can put
conditions on the bootstrapper and your MSI to prevent installation when the
OS is below a certain level and include a message to indicate they should
use Windows Update to get the latest service pack and security updates.

- Don Benson -

On Thu, Mar 12, 2009 at 8:51 AM, Holmgren Mathias
<[email protected]>wrote:

> I've read up a bit on bootstrappers, but can't figure out yet which path
> to take on this.
>
> - We got an application MSI built using WiX 3, works great
> - Application uses Office PIA* to integrate real time with Excel (data
> update, app->excel)
> - Depending on the Excel version, our app MSI installs a different
> version of app DLL for excel-integration (refs matching PIA assembly
> version)
>
> Now we want to streamline pre-requisite installation since distribution
> through partners to private end users (ie day traders, etc) is expected
> to expand (previously, pro financial institutions w their own
> IT-departments was dominant customer segment).
>
> Primary Scenario Requirements
> 1 - Bootstrapper should detect pre-requisites, inform user when missing
> and install on demand if allowed.
> 1.1   - Detect OS, download and install required service pack X for this
> OS as needed
> 1.2   - If .NET FW 2.0 SP1 is missing, download and install
> 1.3.1 - Detect Excel version, download and install corresponding PIA
> version.
> 1.3.2 - If no Excel, skip PIA install (see 7 below).
> 1.4   - Install app MSI
> 2 - Bootstrapper and app MSI should be one single downloadable file
> (exe/msi or equiv, not zip).
> 3 - Some app MSI properties should be pre-set w different values based
> on partner (server url, etc)
> 4 - Works painless in a modern CI environment (rel paths, text source
> format, build script friendly, etc)
> 5 - Seamless and painless full uninstall no matter what (local copy of
> all necessary MSIs, etc)
> 6 - Bootstrapper supports all modern Windows platforms: XP, Win Server
> xxxx, Vista, Win7, etc
>
> Note that we have different pre-reqs & app install depending on which
> Excel-version the user has installed, if any.
>
> Secondary Scenario Requirement
> 7 - User did not have Excel installed during app installation, but
> installs it afterwards. On starting application, detect Excel version
> and launch installation of the correct PIA version "on demand". This
> includes installing matching version of app interop assemblies. That is,
> no need for user to re-install the whole application from scratch to
> enable Excel-integration. Uninstall req 5 still applies.
>
> Questions
> A - Is there a bootstrapper supporting these reqs out there today, or do
> we have to wait for Burn?
> B - How would you "modularize" the app/installation/build to support 3
> and 7 specifically?
>
> * PIA = Ms Office Primary Interop Assemblies, it's a different installer
> package based on Office version.
>
> /Mathias
>
> ------------------------------------------------------------------------------
> Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
> powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
> easily build your RIAs with Flex Builder, the Eclipse(TM)based development
> software that enables intelligent coding and step-through debugging.
> Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
> _______________________________________________
> WiX-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/wix-users
>
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to