Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 1039751
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 16, 20262026-05-16T15:08:20+00:00 2026-05-16T15:08:20+00:00

I am looking to make an installer for a .net application which requires a

  • 0

I am looking to make an installer for a .net application which requires a few other MSI be run. Because of the restriction that you can only run one MSI at a time(honestly, is it 1995?) and my desire to provide configurability of which MSIs to run I can’t just shove the MSIs in a bootstrapper as seems to be the recommend practice. I found a similar question but no joy on the response.

As an alternative is there a .net based installer framework which could be used to customize the install process? I am familiar with IzPack, InstallJammer and NSIS but all of these use non-.net languages and this if for a .net shop who are a bit scared of other technologies.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-16T15:08:21+00:00Added an answer on May 16, 2026 at 3:08 pm

    WiX solves this problem if you’re okay using their UI or doing simply WiX-style UI.

    if you want a richer UI experience you need to write a custom bootstrapper. I have solved this problem in the past by writing a customer bootstrapper which presented a unified UI to the user and made the install look like a single package where in reality the install was a collection of MSI files that were run in sequence.

    Here’s the general gist of what I did:

    • Bootstrapper was .NET managed code. Pros: easier to write. Cons: some system’s didn’t have .NET and I had to have a small unmanaged bootstrapper for my managed bootstrapper that deployed .NET first and then launched the managed bootstrapper.
    • Discovered the MSI files (app.config works… my app was more complicated).
    • Used managed MSI API to read each MSI files feature list
    • Built a single “feature selection” wizard page in .NET winforms that created top-level features for each MSI file and then populated the sub features as read from each MSI file.
    • Create MSI command lines based on the feature selection and other options (uninstall, repair, upgrade, etc).
    • Created a Uninstall registry key for the “suite” installer and hid the MSI-specific uninstall keys so that there was only a single entry in Add/Remove Programs / Programs & Features.

    The devil’s in the details, but it worked and it worked well!

    Edit 9/3/2010 with more notes:

    Here are some things to consider if you take this approach:

    • What is the maintenance mode experience? You probably need to cache your bootstrapper on the system somewhere so that it can open when launched from ARP.
    • What about upgrades and uninstalls? Do you allow for upgrades of some MSI’s but not others?
    • How do you detect upgrade versus maintenance mode? Pretty much you have to scan all the MSIs and if any of these MSI’s (think “features”) are out of date then you are running as an upgrade, not maintenance.
    • Consider partial feature adds… do you support installing only some of the MSI’s? In that case it is possible to get into the upgrade some and fresh-install others scenarios.
    • You’ll probably end up introducing the concept of a suite version for the overall suite. Don’t kid yourself… that’s just a human/marketing version… only the versions of the MSI’s matter and only those versions should be used to determine install/repair/upgrade, etc.

    Basically, when authoring installs (whether single MSI or composite suite install) make sure you lay out ALL of your use-cases for the entire software lifecycle. It’s very easy to write an installer in a shortsighted manner and then find yourself painted into an unpleasant corner when v2 comes out.

    Good luck 😉

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I'm looking for some kind of text-parser for ASP.NET that can make HTML from
I'm looking to make validation for a page in which one or more fields
I am looking for the best way to make my desktop java program run
I have a Button that is looking at 2 comboboxes to make sure they
I'm looking to make calls out to a subversion repository, but I would like
I'm looking for a make platform. I've read a little about gnu make, and
Specifically what I am looking to do is make the icons for the Nodes
I am looking for a program to make mockup screenshots with. I first found
I'm looking for a lightweight way to make my program (written in C) be
Looking for feedback on : http://code.google.com/p/google-perftools/wiki/GooglePerformanceTools

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.