2012-11-01 37 views
1

我目前正在嘗試爲Windows 7 32Bit開發憑證提供程序。我目前使用Eclipse CDT來實現這一點。安裝Windows SDK並正確設置CDT後,我能夠編譯和鏈接必需的dll(相當不錯,我不是100%正確,它按預期工作,但至少他沒有錯誤)。當我現在嘗試安裝憑據提供程序時,它會拋出msvcr90.dll丟失錯誤。我通過在網絡上找到正確版本的dll來解決這個問題(請注意,它需要的msvcr90.dll版本並未在任何版本的可再發行組件中提供,因此不需要指出它們,我已經通過了已經)。現在我安裝了它並將msvcr90.dll複製到system32文件夾中,我開始得到一個R6034運行時錯誤(「...試圖加載C運行時庫不正常......」)。使用Eclipse CDT創建憑證提供程序

直到現在還沒有能夠解決這個問題。我嘗試了另一種方式創建一個靜態dll而不是共享的dll。當我嘗試使用時發生的一切就是Credential Provider在系統啓動過程中甚至沒有加載。

有沒有人有類似的問題或知道如何解決這個問題?我最後的辦法是以某種方式獲得VS,但我現在想留在CDT,因爲我不確定這與問題有關。

爲了記錄,我目前只是試圖讓標準的SampleCredentialProvider教程工作。沒有我自己編寫的代碼被使用,所以不應該是問題的原因。

編輯: 對於更新,我放棄了這一承諾得到CDT編譯工作憑據提供。由於我是一名學生,我正在爲一篇論文做這個工作,所以我剛剛下載了VS,並且它像一個魅力一樣工作,沒有太多麻煩等等。大部分浪費時間試圖讓它在沒有任何輸出的情況下工作最近出了什麼問題等等,如果有人有意願讓這個問題得到解決,我會把這個問題留待討論。現在我沒有時間處理它。對於記錄鏈接最重要的庫有:advapi32.lib,ole32.lib,user32.lib,secur32.lib和shlwapi.lib(必須通過試驗和錯誤找出這個...)

+0

這是一個偉大的事業。請考慮發佈您的Eclipse項目,當它完成(至少是建立示例CP的那個) – ixe013

+0

我放棄了這一點,因爲看起來有點矯枉過正,試圖弄清楚什麼是不工作等等。主要問題似乎是CDT基本上不支持爲編譯Credential Provider而需要的所有功能。 – Dekker

回答

0

你基本上有兩種選擇:

  1. 安裝Visual Studio 2008 runtime side by side,基本運行Vcredist_x86.exe
  2. 使靜態構建工作。

兩個方案各有pros and cons,但由於憑據提供商必須由管理員安裝,並考慮你已經經歷過的麻煩,我會繼續與選擇去1

我不是請將vcredist包含在平臺sdk中。這是一個direct link