2012-01-18 93 views
3

我已經使用EZShellExtensions.net編寫了一個shell擴展。當我以我的身份登錄時,它在我的開發環境中工作良好,以及以我身份登錄時的任何其他系統。對於所有其他用戶,我創建的複製掛鉤從不出現。我用NirSoft的RegDLLView來驗證DLL是否已註冊,但沒有運氣。爲什麼我的DLL只能註冊一個用戶?

我能檢查一下爲什麼會發生這種情況?

FYI

我很高興我的代碼副本發送給任何人想幫助了這一點。 EZShellExtensions.NET的評估期爲30天。

UPDATE使用現在可以作爲CSV/PML文件供應商的註冊工具時,如果任何人的興趣 將procmon輸出。

RESOLVE

我卷繞添加控制檯輸出到DLL進行調試。事實證明,當一個計時器不像任何用戶一樣運行,但我(不知道爲什麼)。這已經被修復了。

+0

如果你聯繫他們的支持,請在這裏輸入答案。 – jgauffin 2012-01-18 20:20:47

+0

您是否檢查用戶的權限級別? – Tim 2012-01-18 20:29:18

+0

@Tim - 是的,其中一個人也是像我一樣的系統管理員。 – 2012-01-19 16:06:28

回答

3

這表明shell擴展已經在HKCU \ Software配置單元而不是HKLM \ Software中註冊。只有後者配置單元纔可以向所有用戶提供擴展。這通常發生是因爲UAC阻止寫入HKLM \ Software,除非編寫的程序被提升。

如果這個庫帶有一個專門的註冊程序,他們通常會這樣做,那麼一定要從提升的命令提示符運行它。開始+所有程序,附件文件夾,右鍵單擊命令提示符鏈接,然後單擊「以管理員身份運行」。重新運行註冊工具。

如果您仍然遇到麻煩,那麼SysInternal的ProcMon工具可以準確顯示您的東西寫入的位置。並且不要猶豫使用供應商的支持渠道。

+0

我會仔細檢查。我以爲我已經證實了,但我會回去驗證。 – 2012-01-19 16:06:02

+0

nope ...在HKLM下注冊。我寫了一個虛擬外接程序,完全沒有什麼,它的工作。一旦我添加了其餘的代碼,那就是它「失敗」的時候。在我的代碼中根本沒有用戶特定的東西。 – 2012-01-19 16:32:49

+0

很難猜到這一點。向供應商發送您的失敗項目的副本。 – 2012-01-19 16:36:31

相關問題