可从程序GUID获取哪些信息

时间:2013-09-17 13:18:17

标签: c# registry guid levenshtein-distance hamming-distance

我正在构建一个从xml文档中提供的自定义安装程序...

我知道大多数程序员不再自己构建,但这是我所分配的,所以请与我合作。安装程序需要先卸载旧版本的程序才能完成其工作。

我可以获得注册表卸载字符串没问题,问题是构建指令文件的用户并不总是具有确切的显示名称。

因此...

我使用Levenshteins的差异来获得70%以上的可能匹配,这让我容易犯错误。为了纠正它们,希望我可以反序列化GUID以获取名称并确保我有正确的名称。或者说是那些方面。

根据levenshteins的差异,有人可以让我知道在哪里看,或任何有关如何进行冗余检查的建议,如果相似度小于100%(并且当单词/短语长度相等时确认汉明差异) )

注意:

版本可能不知道它是删除所有旧版本

发布商在所有

上都是相同的

安装位置应该是网络但不保证用户喜欢本地复制

1 个答案:

答案 0 :(得分:0)

GUID不会(或至少不应该!)包含来自它们所生成的域的任何信息。这些是随机生成的数字,密钥空间足够大,可以保证它们是唯一的。

除非您有数据库或某种形式的存储库来搜索此GUID的关联信息,否则裸GUID不会比随机数据库表上的整数ID更有用。它只是一个标识符。

GUIDs

修改

我找到了一个VBS脚本,可以做你想要的。这将通过它的注册表ID卸载应用程序。如果您的程序是用其他语言编写的,您仍然可以使用System.Diagnostics命名空间启动VBS脚本。

System.Diagnostics.Process.Start("path to script here");