2012-10-15 126 views
0

我想使用nsis腳本安裝OpenSplice DDS,但是我必須知道OpenSplice DDS是否安裝在系統(Windows)中。如何檢測Windows系統中是否安裝了DDS?

根據註冊碼,我們如何檢查OpenSplice DDS是否安裝?

任何人都可以提供nsis腳本來檢查基於註冊表鍵的DDS安裝嗎?

+0

也許你應該告訴我們你要檢查哪個註冊表項...... – Anders

+0

當你說「OpenSplice DDS installed」時,你的意思是說「OpenSplice DDS通過商業版附帶的安裝程序安裝」? –

+0

@Anders謝謝。你們是正確的。我想檢查DDS是否安裝了哪個註冊表項?基於這個結果,我只會做進一步的處理。 – Ami

回答

0

標準OpenSplice安裝不會對註冊表進行任何更改,因此您無法使用註冊表項的檢查來發現OpenSplice是否已安裝。只有在安裝過程中選擇將OpenSplice安裝爲Windows服務時,纔會將信息插入到註冊表中 - 就像任何Windows服務在註冊表中都有條目一樣。由於選擇或不選擇這個選項取決於用戶,所以這不是一個可靠的機制來檢查。

更好的方法是檢查是否設置了環境變量%OSPL_HOME%。該變量通常由OpenSplice安裝程序添加到環境中;它指向它的安裝目錄。

此答案是基於以前的產品使用經驗。我無權訪問任何當前版本,因此安裝過程可能已更改。

+0

謝謝。我在這條路徑上有DDS HKLM \ SOFTWARE \ PrimsTech \ OpenSplice DDS.I已經通過註冊表編輯器看到,但是在運行下面的腳本時它不能正常工作。它顯示沒有dds消息.ReadRegStr $ 1 HKLM「SOFTWARE \ PrimsTech」 「版本」。你知道嗎? – Ami

+0

我不確定發生了什麼,但我確實看到你在這裏有一個錯字:公司不是PrimsTech,而是PrismTech。 –

+0

oops.sorry這裏輸入錯誤,我試試看如下:ReadRegStr $ 1 HKLM「SOFTWARE \ PrismTech」「Location」 ReadRegStr $ 2 HKLM「SOFTWARE \ PrismTech \ $ 1」「Version」。但它不工作fine.i dont know ..爲什麼? – Ami

相關問題