1

我目前正在尝试为 Windows 7 32Bit 开发凭据提供程序。我目前正在使用 Eclipse CDT 来实现这一点。在安装 Windows SDK 并正确设置 CDT 之后,我能够编译和链接必要的 dll(这很麻烦,我不是 100% 肯定它按预期工作,但至少他没有抛出错误)。当我现在尝试安装凭据提供程序时,它会抛出一个 msvcr90.dll 丢失错误。我通过在网上找到正确版本的 dll 解决了这个问题(请注意,它所需的 msvcr90.dll 版本未在任何可再发行版本中提供,因此无需指出它们,我已经经历过已经)。现在我安装了它并将 msvcr90.dll 复制到 system32 文件夹中,我开始收到 R6034 运行时错误(“...尝试加载 C 运行时库 incorecctly..

直到现在都无法解决。我通过创建静态 dll 而不是共享 dll 来尝试另一种方式。当我尝试使用它时发生的所有事情都是凭据提供程序在系统启动期间甚至没有加载。

有没有人遇到过类似的问题或知道如何解决这个问题?我最后的手段是以某种方式获得 VS,但我现在想留在 CDT,因为我不确定这与问题有关。

作为记录,我目前只是试图让标准 SampleCredentialProvider 教程工作。没有使用我自己编写的代码,所以这不应该是问题的原因。

编辑: 为了更新,我放弃了让 CDT 编译工作凭据提供程序的承诺。因为我是一名学生,我正在为一篇论文做这个,所以我刚刚下载了 VS,它就像一个魅力,没有太多麻烦等。浪费时间去尝试让它工作而没有得到任何输出出了什么问题等等。如果有人愿意让它发挥作用,我将把这个问题留给讨论。现在我没有时间处理它。对于记录,用于链接的最重要的库是:advapi32.lib、ole32.lib、user32.lib、secur32.lib 和 shlwapi.lib(必须通过反复试验才能找到这个...)

4

1 回答 1

0

你基本上有两个选择:

  1. 并排安装Visual Studio 2008运行时,基本运行Vcredist_x86.exe
  2. 使静态构建工作。

这两个选项都有其优点和缺点,但由于必须由管理员安装凭据提供程序,并且考虑到您已经遇到的麻烦,我会继续使用选项 1。

我不确定 vcredist 是否包含在平台 sdk 中。这是一个直接链接

于 2012-11-01T16:34:45.907 回答