Reputation: 302
I'm working on a Windows Installer project (via InstallShield) that will perform some work with SQL Reporting Services.
Does anybody know what is the safest way to detect if SQL Reporting services are installed in the target machine?
So far I've found that:
Check the registry for the following key:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{0C270C59-8706-42B8-A2AD-6E5EE18BC90B}
I've always preferred to use the registry in order to find something is installed, but I'm not sure this is the correct key in this case. (I'm aware that searching for that particular registry key would only match SQL Server 2008 R2 Reporting Services, which in my case would be fine).
Note: I'm leaning towards using the registry entry search, but an alternative method using C# code would be fine if someone knows how to do it.
Upvotes: 3
Views: 1906
Reputation: 1
You can check the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\SSRS\MSSQLServer\CurrentVersion
Here is described how to check if SQL Server Reporting Services is installed via Actual Installer: https://www.actualinstaller.com/help/prerequisites.html
Upvotes: 0
Reputation: 21416
It looks like the best approach is doing it programmatically through a custom action: http://technet.microsoft.com/en-us/library/bb630446.aspx
You can find a custom action tutorial here: http://www.codeproject.com/KB/install/msicustomaction.aspx
Please note that only win32 DLL and VBScript custom actions can set installer properties. So a .NET installer class action won't work.
Upvotes: 3