2011-09-12 13 views
3

私はSQL Reporting Servicesでいくつかの作業を行うWindows Installerプロジェクト(InstallShield経由)に取り組んでいます。SQL Reportingがサーバーにインストールされているかどうかを(インストーラから)検出する方法はありますか?

SQL Reporting Servicesがターゲットマシンにインストールされているかどうかを検出する最も安全な方法は何ですか?私は、次のキーのためのMSSQLSERVERサービスの または

  • チェックレジストリをチェックすることができ

    1. は、これまでのところ私はそれを見つけた

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

    私はいつも何かがインストールされていることを見つけるためにレジストリを使用することを好みましたが、この場合、これが正しいキーであるかどうかはわかりません。 (私は、特定のレジストリキーを検索すると、SQL Server 2008 R2 Reporting Servicesと一致することに気づいています。これは私の場合は問題ありません)。

    注:私はレジストリエントリの検索を使用する傾向にありますが、C#コードを使用する別の方法は、誰かがそれを行う方法を知っていれば問題ありません。

  • 答えて

    3

    最善のアプローチは、カスタムアクションを通じて、プログラムでそれをやっているように見えます: http://technet.microsoft.com/en-us/library/bb630446.aspx

    あなたはここでカスタムアクションのチュートリアルを見つけることができます。 http://www.codeproject.com/KB/install/msicustomaction.aspx

    のみWin32のDLLとVBScriptカスタムアクションを注意してくださいインストーラのプロパティを設定できます。したがって、.NETインストーラのクラスアクションは機能しません。

    +0

    あなたの答えCosminに感謝します。私はテクニカルリンクを見て、 "バージョン"をプログラムで報告するReportingService2006.ServerInfoHeaderValueを見つけましたが、レポートサービスが既にインストールされている必要があります。サービスがインストールされているかどうかを知りたいのは、サービスがマシンにない場合にインストーラを停止するためです。私が思う唯一のことは、機能を実行しようとすることです、そして、それが失敗した場合、サービスが利用できず、インストーラを停止すると仮定します。私はそれほど好きではありません。 –

    +0

    私は上記のコメントで述べたように、SSRSがインストールされているかどうかを検出しようとしなくなりました。代わりにWebサービスを呼び出しています。応答しない、または失敗した場合、大丈夫です。 –

    関連する問題