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

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

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

Re[4]: IEアドインでファイル出力が出来ない


(過去ログ 119 を表示中)

[トピック内 5 記事 (1 - 5 表示)]  << 0 >>

■69969 / inTopicNo.1)  IEアドインでファイル出力が出来ない
  
□投稿者/ ザザ (1回)-(2014/02/14(Fri) 23:56:03)

分類:[C#] 

お世話になります。
Visual Studio 2010、BHOで IEアドインをC#で作成しています。
閲覧したURLをファイル出力しようとしているのですが、ファイルが作成されずに悩んでいます。
IEはIE11。IE9, IE10でも同じ症状です。
デバッグ実行で見ると、ファイル出力周りでエラー、例外等は出ておらず(try-catchでひっかからず、
書き込みも正常にステップ実行で抜けます)、ファイル名も意図した通りのものになっています。
(出力先は C:\Users\(user名)\AppData\Roaming\(app名)\aaa.log。ディレクトリは作成済み)
ファイル出力しクローズした直後でMessageBoxで見ると、メッセージボックス上には出力したいファイル名や
ファイル内容が表示されますので、アドインのロジックは動作してます。

何かイージーミスをしている気もするのですが、、
思い当たることがありましたら、是非教えてください。
宜しくお願いします。

引用返信 編集キー/
■69970 / inTopicNo.2)  Re[1]: IEアドインでファイル出力が出来ない
□投稿者/ ザザ (2回)-(2014/02/15(Sat) 00:11:51)
自己レスです。
ファイル出力はDLL(署名済み)内から行っていたのですが、
試しにアドインから直接ファイル書き込みをしようとすると、
System.UnauthorizedAccessException が出ていました。
恐らくDLL内でもアクセス違反が出ているが、何らかの理由で例外が出ない状態に
なっているのでは、という状況です。
以前までこのDLL経由でファイル出力できていたのですが・・・うーむ。

引用返信 編集キー/
■69996 / inTopicNo.3)  Re[2]: IEアドインでファイル出力が出来ない
□投稿者/ たくボン (4回)-(2014/02/16(Sun) 22:57:57)
No69970 (ザザ さん) に返信
> 自己レスです。
> ファイル出力はDLL(署名済み)内から行っていたのですが、
> 試しにアドインから直接ファイル書き込みをしようとすると、
> System.UnauthorizedAccessException が出ていました。
> 恐らくDLL内でもアクセス違反が出ているが、何らかの理由で例外が出ない状態に
> なっているのでは、という状況です。
> 以前までこのDLL経由でファイル出力できていたのですが・・・うーむ。
>

UnauthorizedAccessExceptionと言うことなので、権限周りが原因ですね。
書き込みを行いたいディレクトリに対して、適切な権限はありますか?
後気になると言えばIE側の権限です。IEではなく通常のEXEに組み込んで管理者権限で実行しても出力されないでしょうか?
引用返信 編集キー/
■69997 / inTopicNo.4)  Re[3]: IEアドインでファイル出力が出来ない
□投稿者/ ザザ (3回)-(2014/02/16(Sun) 23:32:46)
たくボンさん、返信どうもありがとうございます。
IEを管理者ユーザで実行した所、出力されました!
ログイン中のユーザは管理者権限を持っていますし、ディレクトリにアクセス権はあります。
またこのファイル出力しているDLLは他のアプリからも共通的に使用しており、
そのアプリは管理者ユーザとして実行をせずとも出力されています。
ということは、IEアドインの権限不足、ということですね。
IEアドインに管理者権限を与える方法を調べていきたいと思います。
引用返信 編集キー/
■70004 / inTopicNo.5)  Re[4]: IEアドインでファイル出力が出来ない
□投稿者/ ザザ (4回)-(2014/02/17(Mon) 11:51:03)
調べた所、やはりIEアドインからの直接ファイル出力は制限が厳しいことが判りました。
結局、以下の手順で目的を達成することにしました。(アドインからのファイル書き込みまで確認)
・別Appで、AppData\LocalLow\ 配下に空ファイルを作成
・上記ファイルに書き込み権限を付与
(参考URL: http://blogs.msdn.com/b/ieinternals/archive/2010/08/27/writing-to-files-from-low_2d00_integrity-processes-in-c-sharp-dotnet.aspx)
・アドインから上記ファイルに書き込み
・別Appで上記ファイルの更新を監視し、ファイル更新があれば内容を取得

ヒントをいただき、ありがとうございました。
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -