2012-01-18 14 views
3

私はEZShellExtensions.netを使ってシェル拡張を書いています。私としてログインしているときは開発環境で、他のシステムは私としてログインしたときにうまく機能します。私が作成したコピーフックは他のすべてのユーザーにとっては決して出現しません。私はNirSoftのRegDLLViewを使って、DLLが登録されていることを確認しましたが、運がありません。私のDLLは1人のユーザだけに登録されているのはなぜですか?

これがなぜ発生するのかを確認するにはどうすればよいですか?

FYI

私はこれを手伝ったい誰に私のコードのコピーを送信してうれしいです。 EZShellExtensions.NETの評価期間は30日間です。誰もが興味を持っている場合、CSV/PMLファイルとして使用できるようになりましベンダーの登録ツールを使用して

UPDATE procmonを出力。

RESOLVE

私はデバッグのためのdllにコンソール出力を追加すること巻き上げます。タイマーは私以外のユーザーとして実行されていないことが判明しました(理由は分かりません)。これは修正されています。

+0

サポートに問い合わせる場合は、ここに回答を入力してください。 – jgauffin

+0

ユーザーの権限レベルを確認しましたか? – Tim

+0

@Tim - そうですね、その1つは自分のようなシステム管理者です。 –

答えて

3

これは、シェル拡張がHKLM \ Softwareの代わりにHKCU \ Softwareハイブに登録されたことを示しています。後者のハイブだけが、すべてのユーザーが拡張機能を利用できるようにします。これは、書き込みを実行するプログラムが昇格していない限り、UACがHKLM \ Softwareへの書き込みを防止するために一般的に発生します。

このライブラリには専用の登録プログラムが付属していますが、通常は昇格したコマンドプロンプトから実行してください。 「スタート」→「すべてのプログラム」→「アクセサリ」フォルダを開き、「コマンドプロンプト」リンクを右クリックし、「管理者として実行」をクリックします。登録ツールを再実行します。

SysInternalのProcMonツールで問題が解決しない場合は、どこに書き込まれたのか正確に表示できます。また、ベンダーのサポートチャネルを躊躇しないでください。

+0

私は再確認します。私はすでにそれを確認したと思ったが、私は戻って確認するだろう。 –

+0

いいえ... HKLMの下で登録してください。私はダミーのアドインを書いています。それは絶対に何もしませんでした。コードの残りの部分を追加すると、その時点で「失敗」します。私のコードにはユーザー固有のものは何もありません。 –

+0

これを推測するのは難しいです。失敗したプロジェクトのコピーをベンダーに送信します。 –