如何检测(来自安装程序)服务器中是否安装了SQL Reporting?

时间:2011-09-12 22:21:40

标签: installer windows-installer installshield

我正在开发一个Windows Installer项目(通过InstallShield),该项目将使用SQL Reporting Services执行一些工作。

有人知道检测目标计算机中是否安装SQL Reporting服务的最安全方法是什么?

到目前为止,我发现了:

  1. 我可以检查MSSQLSERVER服务 或
  2. 检查注册表中的以下密钥:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{0C270C59-8706-42B8-A2AD-6E5EE18BC90B}

  3. 我总是更喜欢使用注册表来查找已安装的内容,但在这种情况下我不确定这是否是正确的密钥。 (我知道搜索特定的注册表项只会匹配SQL Server 2008 R2 Reporting Services,在我的情况下会很好)。

    注意:我倾向于使用注册表项搜索,但是如果有人知道如何使用C#代码,那么另一种方法就可以了。

2 个答案:

答案 0 :(得分:3)

看起来最好的方法是通过自定义操作以编程方式执行此操作: http://technet.microsoft.com/en-us/library/bb630446.aspx

您可以在此处找到自定义操作教程: http://www.codeproject.com/KB/install/msicustomaction.aspx

请注意,只有win32 DLL和VBScript自定义操作才能设置安装程序属性。因此,.NET安装程序类操作将不起作用。

答案 1 :(得分:0)

您可以检查注册表项: HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ SSRS \ MSSQLServer \ CurrentVersion

此处介绍了如何检查是否通过实际安装程序安装了SQL Server Reporting Services: https://www.actualinstaller.com/help/prerequisites.html