- .NET Framework (2.0, for example, dotnetfx2.0.exe)
- Office 2007 Primary Interop Assemblies (o2007pia.msi)
- Visual Studio Tools for Office (vstor2005.exe)
One way to do this is setting up a "Basic MSI Project" (NOTE: this doesn't work with a standard InstallShield project as pre-requisites are not supported there !!)
and add prerequisites (Tools->Prerequisite Editor) for each of these dependencies.
See http://shieldmaster.wordpress.com/2009/04/26/tutorial-adding-setup-prerequisites-to-installshield-package/ for a good tutorial on this.
Now the crucial question is, which condition to set for each of these packages ?
Here's my best solution, so far (Conditions tab in Preqrequisites):
- .NET Framework 2.0: "A File does or does not exist" [WindowsFolder]\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe --- Run setup if: Not Found
- PIA Office 2007: "A registry key does or does not exist" HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Uninstall\{50120000-1105-0000-0000-0000000FF1CE} --- Run setup if: Not Found
- PIA Office 2003: "A registry key does or does not exist" HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Uninstall\{91490409-6000-11D3-8CFE-0150048383C9} --- Run setup if: Not Found
- Visual Studio 2005 Office Tools: "A registry key does or does not exist" HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\Windows\CurrentVersion\Uninstall\{388E4B09-3E71-4649-8921-F44A3A2954A7} --- Run setup if: Not Found
Took me a long time to figure these out, thanks Anthony ! Would be nice if this helps someone :-)
Hey definitely did help me out. Thanks a lot.
ReplyDelete