我正在开发一个Windows Installer项目(通过InstallShield),该项目将使用SQL Reporting Services执行一些工作。
有人知道检测目标计算机中是否安装SQL Reporting服务的最安全方法是什么?
到目前为止,我发现了:
检查注册表中的以下密钥:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{0C270C59-8706-42B8-A2AD-6E5EE18BC90B}
我总是更喜欢使用注册表来查找已安装的内容,但在这种情况下我不确定这是否是正确的密钥。 (我知道搜索特定的注册表项只会匹配SQL Server 2008 R2 Reporting Services,在我的情况下会很好)。
注意:我倾向于使用注册表项搜索,但是如果有人知道如何使用C#代码,那么另一种方法就可以了。
答案 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