I have msi and wants to check whether vsto run-time is installed on target machine, I have used launch condition through VS2008 in my msi but it only redirect user to vendor's website. I just want to install the prerequisite if it is not installed on machine and want the prerequisite to be installed during the msi is running. It can be summarized as:
When msi is running:
I searched and find many solution like single package executable, vb script in custom action, but requirement is not to ship anything with the installer neither the exe is acceptable :(
I have orca installed but dont have much knowledge to customizing msi using Orca
Your help is appreciated.. Thanks in advance...
WIX is one of the most powerful (and free) tools for creating Windows installers. There's an end-to-end article I wrote a while ago on Creating a localized Windows Installer & bootstrapper, which may help.
You can enforce prerequisites by defining conditions in the WIX file, for example.
<Condition Message="[ProductName] requires the Microsoft .NET Framework 4 Client Profile">
Installed Or NETFRAMEWORK40CLIENT
</Condition>
However to install the prerequisite, you will need a boostrapper (EXE).
The article above shows how to use dotNetInstaller to create managed EXEs, which check and install these prerequisites before executing the embedded MSI at the end. You can of course also just chain a load of MSIs together as well, it's really flexible.
I believe WIX also has a tool called Burn which was meant to be released in 3.5, I haven't used it, but it also provides bootstrap functionality.
Orca isn't really used for compling MSIs, it's just useful for debugging and digging around inside.
Since an EXE bootstrapper is not acceptable, there is only one solution:
Basically, you need to launch them during the installation UI. It may not work if the custom actions run during InstallExecuteSequence.
This is not supported by Visual Studio, but some commercial setup authoring tools have direct support for it. If you want a free solution you can use WiX, but you will need to write the custom actions yourself.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With