0

Let's say you have a re-seller/affiliate for your product but they want special features that will be injected into the product's installer so that affiliate can deliver a customized experience to their customers for their marketing campaign.

The product will look at these affiliate parameters and adapt it's features, functionality, and look-n-feel.

My question is wondering how one can go about passing custom information to an MSI based on who specifically served the file. We don't want to manually create these installers because it is time-consuming to manage all the custom downloaders for affiliates. What we want is something automated that is able to jam in those custom parameters on the fly.

Brian T Hannan
  • 3,925
  • 18
  • 56
  • 96

1 Answers1

0

This is a very broad question and isn't answerable in it's current form. That said, MSI's are databases that can be updated or transformed. There are APIs to do this and it depends on where your MSI is hosted.

If it's on an IIS web site you could have some ASP.NET code that uses the Microsoft.Deployment.WindowsInstaller interop assembly to do your database operations. If it's a Unix machine you'd have to find something that uses Wine somehow to update the MSI.

You'd have to carefully consider your variation points and design an MSI that is easily injectable.

I've done this type of work for clients and it's doable but it's not a simple question.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100
  • In a weird kind of way you've actually answered the question. I just wanted to see if the solution we already actually have in place is what people do out there. It seems there is no way to have a customized install of a product based on affiliate configuration without somehow communicating between the product and a server somewhere containing the affiliates configurations. Something has to be packed into the MSI in order for it to know which affiliate's configuration to pull. So there is no way around modifying the MSI on the fly for my scenario. Thanks for the quick response! – Brian T Hannan Aug 22 '13 at 19:10
  • You could just wrap the MSI in an EXE and pass different affialiate arguments at install time. But personally I'd rather just bake it in. – Christopher Painter Aug 22 '13 at 19:12