使用Eclipse CDT创建凭据提供程序

时间:2012-11-01 11:21:32

标签: windows visual-c++ winapi credential-providers

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

直到现在还未能解决这个问题。我通过创建静态dll而不是共享dll来反过来尝试它。当我尝试使用它时发生的所有情况是凭证提供程序甚至在系统启动期间都没有加载。

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

为了记录,我目前只是想让标准的SampleCredentialProvider教程起作用。我没有使用自己编写的代码,因此不应该成为问题的原因。

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

1 个答案:

答案 0 :(得分:0)

你基本上有两个选择:

  1. 安装Visual Studio 2008 runtime side by side,基本上正在运行Vcredist_x86.exe
  2. 使静态构建工作。
  3. 两个选项都有pros and cons,但由于管理员必须安装凭据提供程序,并且考虑到您已经遇到的问题,我会继续使用选项1.

    我不是shure vcredist包含在平台sdk中。这是direct link