Jump to content

Changing Source location on MSI files


Recommended Posts

Hi All,

I'm trying to build a corporate standalone DVD for users to install XP with all the required software. Once the install is complete, I want to repoint all the MSI's from using the DVD as a source location, to a network location. ie.

MS Office 2003 installed from DVD

User adds new feature

Windows Installer prompts to insert the DVD.

I want to change this so that it will look to a mapped drive or a UNC path instead of the DVD drive.

Does anyone know of any utilities that can be used to do this, or is it somewhere in the registry that I can change?

Thanks, Dan.

Link to comment
Share on other sites


Unfortunately not. This only modifies the Locally Cached Source, which is a feature of Office 2003 and no other MSI files.

One example is during an unattended install, if I auto install Acrobat 6.01, followed by 6.02 update, when I first go to use Acrobat, it runs Windows Installer to do some additional steps, and looks for the source files.

Firstly, I don't know why this is happening - as far as I'm concerned, once you install an MSI, it should need the original incase there's a problem.

Secondly, in a case where there IS a problem (corrupt or missing files, or a repair is run on an app), I want to have a central location on a server where users can still access all the files, without having to pop back in a DVD.

Any ideas anyone?

Thanks, Dan.

Link to comment
Share on other sites

So I think I've figured this out and I'm sure I'm not the only one that's run into this problem so I figured I'd post my method. I'm not a complete genius with MSI technology - I wasn't paying much attention in the course I went on :), so if this is wrong, someone correct me.

There's two ways :

Firstly, the straightforward method - that's to add to the SOURCELIST property. Windows Installer maintains a list of source paths for each install. When you install an MSI, the location your installing from becomes the first location on the list. By using the SOURCELIST property, you can add up to 26 sources, comma-delimited. ie.

D:\Install\Acrobat\Acrobat6.MSI /QN TRANSFORMS="D:\Install\Acrobat\Custom.MST" SOURCELIST="\\CORPSERVER\Install\Acrobat,K:\Install\Acrobat"

This would install Acrobat silently, with my transform. Additionally, if Acrobat ever needs to be repaired or patched, It will look for the source files on your D:\Install\Acrobat folder first, then the UNC patch \\CORPSERVER, and finally on the K: drive. When it finds one that exists and matches the GID of the current MSI, it'll pull it's info from there. If it doesn't find a match, it'll prompt for an install location

This is incredibly useful in corporate environments as you can place all your MSIs in more than one location, providing redundancy should a server go down.

The second method is the one I opted for, and that's to modify the original MSI with a VBS file I found on DesktopEngineer.Com, called CA Reset Sources. From what I understand, it adds a custom action to the MSI which says that if the RESETSOURCES property exists, to use that as the first source location. This is great for me as I know users won't be installing from a DVD again, and so it avoids the delay in searching the DVD drive for the required files, speeding up the process.

To use it, you just run the VBS file with Package="yourmsi.MSI". Then just use the RESETSOURCES property on the commandline to specifiy the new source location.

There's also a util with the VBS file to change MSI source locations after an MSI is installed, which would be very handy if say, your main deployment server is being renamed or something.

Hope this helps someone! :rolleyes:

Dan

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...