2012-08-13 27 views
1

在註冊表中給出項基本上我的應用程序的NSIS設置一個名爲在一個名爲SOFTWARE\APPLICATION_NAME VERSION_NUMBER關鍵它表示該應用程序的當前已安裝的「路徑」註冊表值。我現在試圖介紹檢查應用程序的先前版本是否安裝以及是否提供使用先前設置的功能。如果安裝了多個版本,用戶將能夠選擇他想從哪個版本進行設置。我遇到的問題是在註冊表中搜索以前安裝的版本。當我包含VERSION_NUMBER時,可以找到路徑的關鍵字在每個版本中都會發生變化,因此不存在「set in stone」搜索查詢。檢索利用NSIS

因此,例如,如果我從開始SOFTWARE\APPLICATION_NAME使用沒有版本作爲位置來設置路徑信息,這很容易,因爲我可以檢查該註冊表值是否存在。理想的解決方案是能夠使用通配符進行搜索並檢索所有匹配的路徑(例如SOFTWARE\APPLICATION_NAME*)。我從現在開始確實可以停止插入「VERSION_NUMBER」,但是這不會允許用戶在下一個版本中保留當前配置,而是在下一個版本中保留當前配置(並且這是如果他們從最新版本更新)。

我希望我的問題是清楚的。請讓我知道,如果有什麼我可以澄清。

回答

1

使用EnumRegKey和一些基本的字符串處理/比較...

+0

謝謝 - 那正是我所需要的東西。 – Harry 2012-08-15 07:23:46