I am creating an MSI using InstallShield 2012 (part of AdminStudio).
The file structure I need installed on the PCs requires Adobe AIR, so I have created custom actions to silently install and uninstall Adobe AIR, and have sequenced these correctly in the Install Exec sequence. (I have the correct distribution license from Adobe)
The problem comes when I want to check (prior to the Adobe AIR installation / uninstall) whether or not AIR is already installed. I am using the Adobe ARH utility - which returns a non-zero value when Adobe AIR is not detected.
I am not a programmer; can anyone design (or point me towards) a managed code sample, or custom dll (or another way) that I can use to be able to correctly handle a non-zero return value from the Adobe ARH utility?
Essentially, install sequence is:
1) Copy files (MSI handles this bit)
2) Run ARH utility as part of a Custom Action to detect installed AIR (terminates with zero if a version is found installed, non-zero otherwise)
3) If previous CA terminated with non-zero value, run next CA (to install Adobe AIR)
1) Run CA to uninstall Adobe AIR
(uninstall is fine as it is)
Can anyone give me any pointers, or sample code etc. to execute the ARH utility?
Alternatively, a better way to do this - i.e. Managed code or a custom dll?