2012-08-13 54 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