-2

我有一些 dll 和 exe 文件。我注册了这些文件并创建了所需的实例。在一种情况下,没有创建实例。任何其他 dll 和 exe 都会导致成功的结果,只有这个是一个问题。当我上次注册有问题的文件时,没有创建实例,但是如果未注册有问题的文件,我尝试注册一个给我成功结果的文件,但同样没有创建实例。代码没有改变,相同的代码不再创建实例,这对我来说似乎很奇怪,因为相同的代码可以在注册有问题的文件之前创建实例。我尝试用相同的结果替换CoGetClassObject的CoCreateInstance 。错误是Server execution failed

我使用 Visual Studio 2010 和CLSCTX_LOCAL_SERVER标志。

我的假设是这种奇怪的行为是由 64 位环境和 32 位 COM 对象引起的。我尝试了这个解决方法,但结果是相同的Server execution failed。有任何想法吗?

编辑:我搜索了一个用于 COM 对象的接口 IID,但在注册表中不是这个 IID。这是这种情况的可能线索吗?

4

1 回答 1

0

问题解决了。原因是某些东西删除了一个 .dll 文件,当我尝试注册 .exe 时,由于缺少 dll,注册不成功。

于 2016-08-12T11:18:16.437 回答