Search code examples
visual-studiosetup-project

How can I bundle a prerequisite msi with the Visual Studio Setup Project?


I have a redistributable msi my program needs to be able to run. So far I've created a launch condition. The condition it uses is under "Search Target Machine". This needs a component ID.

This page suggests I can only determine the component ID via MSI Spy, a tool that as far as I can tell is no longer available: https://msdn.microsoft.com/en-us/library/1s08hzfe(v=vs.80).aspx

I must use a Visual Studio Setup Project, and I must distribute the 64 bit end user runtime of slimdx from http://slimdx.org/download.php.

How can I successfully get a component ID, or alternately how can I bundle an msi as a prerequisite?


Solution

  • MSI Spy seems an odd choice! The "standard" tool for looking in MSI files is Orca, supplied in the Windows SDK/Kit, install from Orca.msi. There are others if you search.

    Look in that MSI and go to the Component table, look for a component id that is always installed (if that can be determined) and use that guid.

    Ths might help with the custom prereqs:

    Adding Custom prerequsites to visual studio setup project

    and support for custom prerequisites in setup projects has never bneen particularly good, even when the Bootstrap Manifest Generator was around.

    This might be useful if you can figure out how to alter the manifest file to add your custom prerequisite, which is what the BMG tool did.

    How to install redistributable with visual studio setup?