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

  • Home
  • SEARCH
  • 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 843843
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T06:11:37+00:00 2026-05-15T06:11:37+00:00

We have a product that we need to create an installer for. It has

  • 0

We have a product that we need to create an installer for.
It has a number of components which can be installed or not as the situation demands.

When we ship our installation package, we want to be able to have that include any number of additional components to be installed.

For example, Foo Manager Pro contains:

  • Foo Manager Console
  • Foo Manager Database
  • Foo Manager Services

That might be shipped as something like:

  • FooManagerInstaller.exe
  • FMPConsole.pkg
  • FMPDatabase.pkg
  • FMPServices.pkg

A package might consist of something like:

  • Manifest
  • Files to be deployed
  • Additional scripts to be executed
    (eg find file foo.config, do some XML Manipulation)

If a client wants to add custom skins and a series of plugins as part of the install, they create their own packages:

  • FMPConsoleSkins.pkg
  • ClientWebservices.pkg

If that client then ships it to someone else who wants to add more customisation – they can do so in the same way.

We can build this from scratch – but wanted to check if this sort of install system already exists.

We already have a set of NAnt scripts which do something not too far from this. But they’re difficult to maintain, and quite complex. They don’t offer any of the ‘niceties’ that we’d expect from an installer (like tracking deployed files and removing them if the install fails).

We’ve been looking a little bit at NSIS and building MSIs using WiX, but it’s not clear that these can offer us the capability for downstream to provide additional packages, without inventing our own installer language.

  • 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-15T06:11:38+00:00Added an answer on May 15, 2026 at 6:11 am

    This response only addresses Windows Installer (and thus WiX); I’ve never had opportunity to use NSIS.

    Windows Installer itself is not well-suited to this sort of extensibility. If you want the full support for resilience (self-repair, advertisement, etc.), then the files added downstream must be added with a transform or a patch, and must be available in a cab or uncompressed on the source filesystem. For this to be a seamless install for the end user, the bootstrap will need to identify these extensions and apply them as part of the installation. However if you ever expect to patch the core install, the idea of having to account for downstream patches is a frighteningly complex one.

    If you do not need Windows Installer’s resilience, it’s certainly possible to implement various install and uninstall steps as custom actions. These actions could read your custom pkg format and manifests, and act accordingly, at least for install. Figuring out how to store or recreate the information for uninstall will be key. Assuming you support per-machine (as opposed to per-user), these actions need to be Deferred (In-Script), and thus will have minimal contact with the properties and directories available to the install – research CustomActionData if you want to head down this route. (But watch out; the first hit I saw in a search was to a less relevant “Deployment in Visual Studio” topic.)

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

Sidebar

Related Questions

Which is your preference? Let's say we have a generic Product table that has
Let's assume I have a model called product. Let's assume that product has three
Let's say that you have a product that is written in Visual Studio and
I have a product idea that requires integration into the Microsoft Office suite. Are
We have a software product that evolves at the rhythm of clients' needs and
I have a product registration form that allows the user to add additional product
I have a menu of product brands that I want to split over 4
In our product we have a big utilities file that we require (with do
I have an XML schema that represents a product in a DB, and I
I have data that looks like CUSTOMER, CUSTOMER_ID, PRODUCT ABC INC 1 XYX ABC

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.