C# 匹配注册表项

C# 匹配注册表项,c#,com,registry,registrykey,app-id,C#,Com,Registry,Registrykey,App Id,我有一个应用程序似乎与另一个相关应用程序具有相同的注册表项(COM Id)。我试图在c#中更改应用程序ID,但这不起作用,因为如果安装了第一个应用程序,第二个应用程序将不起作用。如果我卸载一个并注销它,另一个应用程序就会工作。如何更改com ID或注册表项,使它们在注册表中具有唯一ID?您确实不想更改com CLSID和APPID值。与应用程序和类关联的ID是COM注册机制的一部分,用于识别和实例化对象,因此任意更改它们几乎肯定会破坏应用程序的某些方面 您描述的行为表明手头有更基本的东西。您确定

我有一个应用程序似乎与另一个相关应用程序具有相同的注册表项(COM Id)。我试图在c#中更改应用程序ID,但这不起作用,因为如果安装了第一个应用程序,第二个应用程序将不起作用。如果我卸载一个并注销它,另一个应用程序就会工作。如何更改com ID或注册表项,使它们在注册表中具有唯一ID?

您确实不想更改com CLSID和APPID值。与应用程序和类关联的ID是COM注册机制的一部分,用于识别和实例化对象,因此任意更改它们几乎肯定会破坏应用程序的某些方面


您描述的行为表明手头有更基本的东西。

您确定哪些特定的COM ID值已被复制?你能发布一个你看到重复ID值的注册表部分的剪贴吗?@David W,这是一个从COM应用程序调用的.net应用程序。我在regasm注册了它。我看不到注册表中的值在哪里被复制,我可以搜索更多,但两个应用程序在拆分之前启动相同,因此我认为com ID在注册表中是相同的。因为注销一个和另一个都有效。嗯,如果您实际上没有看到注册表重复,那么可能需要对您的错误情况进行更详细的描述。我以为您实际上看到了不相关COM对象的重复ID。你是说消费COM应用程序和你的应用程序具有相同的ID吗?应用程序不会启动。它只是在windows中显示一个错误。“无法加载应用程序。”。我在c#有两个类似的项目,它们在分开之前都是一样的。消费COM应用程序无法消费第二个应用程序,因为它是第二个注册的应用程序。您的新.NET应用程序还是COM消费应用程序?你所说的“他们在分裂之前也是一样的”是什么意思?分裂什么?我怀疑你可能需要发布更多的细节来正确分析你的问题。@David W,你能解释一下为什么我不能为我正在构建和创建安装程序的应用程序更改它们吗?我不能换成我喜欢的吗?谢谢