C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 74 を表示中)
■43053 / )  shell32を使ったプログラムの再配布
□投稿者/ Cs (1回)-(2009/10/28(Wed) 06:18:44)

分類:[C#] 

こんばんわ。

VS2008のC#で開発をしています。

Shell32を用いて、mp3のID3タグを取得するプログラミングを作成しました。しかし、コンパイルを行ったPCで実行するとうまく動くのですが、再配布パッケージを使って他のPCで実行すると

型 'Shell32.ShellClass' の COM オブジェクトをインターフェイス型 'Shell32.IShellDispatch5' にキャストできません。IID '{866738B9-6CF2-4DE8-8767-F794EBE74F4E}' が指定されたインターフェイスの COM コンポーネント上での QueryInterface 呼び出しのときに次のエラーが発生したため、この操作に失敗しました: インターフェイスがサポートされていません (HRESULT からの例外: 0x80004002 (E_NOINTERFACE))。

上記のエラーがでてプログラムが止まってしまいます。

ShellClass nowPlayShell = new ShellClass();
Folder nowPlayFolder = nowPlayShell.NameSpace(dirPass);
FolderItem nowPlayItem = nowPlayFolder.ParseName(fileName);

のようにShellClassを定義しているのですが、nowPlayShell.NameSpace(dirPass)を呼び出すと上記のエラーが発生します。

他のPCでも実行できるようにしたいのですが、方法がわかりません。
ご教授よろしくお願いします。
返信 編集キー/


管理者用

- Child Tree -