Add additional source location for your MSI

In a previous article I’ve made a quick demo on how you can add an additional source location for your MSI by using VBScript. Recently I had an email from a user regarding this topic and asked me if there is an alternative way to add source locations without the use of a VBScript.

The idea behind the first article was to:

  • Explain the downsides of the repair function in MSIs where the sources are not available anymore
  • Where the source list is stored in the registry
  • How to find out the generated GUID which contains the source list
  • How to use a simple VBScript template and add additional logic to it

If you don’t have any extended logic to add to the script I’ve provided (for example check if a particular share is available, get multiple locations from a file, etc) it doesn’t make sense to use that script to add only one or two additional locations in the source list of the MSI installation.

It’s actually quite simple, and what you can use is the SOURCELIST property. This property can be used to add as many additional locations to your source list by using a semicolon-delimited list.

For example, if you want to add 192.0.0.1 and 192.0.0.2\share in the list, all you have to add in the SOURCELIST property is:

192.0.0.1;192.0.0.2\share;

I’ve created an example MSI and added two more sources:

After I install the MSI, the first source location will be the place I’ve installed the MSI from, which in my case is my Desktop. Apart from that, two more sources are added:

That’s how easy it is to add multiple source locations for your MSI packages.

Leave a comment

Your email address will not be published. Required fields are marked *

7 + 16 =