- - PR -
ノータッチデプロイメントでのDLLの扱い
1|2|3
次のページへ»
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2004-05-11 18:57
はじめての投稿になります。
よろしくお願いします。 C# + OpenGLでノータッチデプロイメントを検討しています。 調べてみたところ、C# + OpenGLは初期化処理が上手くなく、 実際は、C# + CsGLでの検討になっています。 # CsGL # http://csgl.sourceforge.net/ 質問なのですが、ノータッチデプロイメントの場合、 DLLの参照は、動的に行わなければならないのでしょうか? 『参照設定』→『参照の追加』から行うとアクセスエラーとなり、上手く出来ません。 また、動的(System.Reflection.Assembly.LoadFrom(XXXXX))に行うと、 CsGLの関係上、DLL内のクラスを継承する必要がありこれも上手くありません。 静的にサーバ上に配置されたDLLを指定する方法が知りたいです。 どなたかご教授頂ければ幸いです。 | ||||
|
投稿日時: 2004-05-11 23:41
諸農です。
自作のWinForm用コントロールのアセンブリ(.dll)と それを静的参照(?)で利用するプロジェクトで試してみました。 ローカルマシンだとセキュリティを意識せずに実行可能でした。 別のマシンからだとセキュリティの問題でコントロールはダウン ロードされたものの、表示されませんでした。 例外はSystem.Security.Permissions.SecurityPermissionです。 ちなみにどのようなエラーが出ていますか? _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ | ||||
|
投稿日時: 2004-05-12 08:39
???静的に参照したDLLですよね?どの部分で例外が発生していますか? ・外部ファイル(DLL)をダウンロード/参照するとき ・DLL中のクラスをインスタンス化するとき ・DLL中のクラスが、ローカル環境にアクセスしようとするとき | ||||
|
投稿日時: 2004-05-12 09:18
jittaさん、jubeiさん返信ありがとう御座います。
SEIです。 静的・動的DLL参照。。 言葉に矛盾ありますが、他の言い回しが分からなかったもので。(汗) 引用: -------------------------------------------------------------------------------- Jubeiさんの書き込み (2004-05-11 23:41) より: ローカルマシンだとセキュリティを意識せずに実行可能でした。 別のマシンからだとセキュリティの問題でコントロールはダウン ロードされたものの、表示されませんでした。 -------------------------------------------------------------------------------- 同じ現象です。 発生している例外内容は以下の通りセキュリティ例外です。 System.Security.Policy.PolicyException: 必要なアクセス許可を取得できません。 at MDIDemo.MDIChild..ctor() at MDIDemo.MDIParent.MDIParent_Load(Object sender, EventArgs e) at System.Windows.Forms.Form.OnLoad(EventArgs e) at System.Windows.Forms.Form.OnCreateControl() at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) at System.Windows.Forms.Control.CreateControl() at System.Windows.Forms.Control.WmShowWindow(Message& m) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ScrollableControl.WndProc(Message& m) at System.Windows.Forms.ContainerControl.WndProc(Message& m) at System.Windows.Forms.Form.WmShowWindow(Message& m) at System.Windows.Forms.Form.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam) また、例外の発生個所は、DLL内のクラスを継承しており、 そのクラスのインスタンス生成時に発生しています。 お気付きの点が御座いましたら、ご指導お願い致します。 | ||||
|
投稿日時: 2004-05-12 09:39
OnLineの方がFile Not Foundになるので、お手持ちのMSDNで、「検索」タブを開き、「フィルタ条件」をなしにしておいてから、「検索する文字列」に"Windows フォームのセキュリティに関するその他の考慮事項"を入れ、検索してください。このタイトルの記事を開いてください。
ここに
とありました。MDIは作れない? | ||||
|
投稿日時: 2004-05-12 09:41
ノータッチデプロイメントなアプリケーションには、ごく限られた操作しか許されていません。 P/Invoke もデフォルトでは禁止のずです。(できたらセキュリティの大穴) 各実行環境で、当該アプリケーション実行時のセキュリティ設定を甘くしてもらう以外に方法は無かったような気がします。 OpenGL ではなく、Managed DirectX なら、この手の問題は無かったかもしれないですね。(未確認) _________________ // 渋木宏明 (Hiroaki SHIBUKI) // http://hidori.jp/ // Microsoft MVP for Visual C# // // @IT会議室 RSS 配信中: http://hidori.jp/rss/atmarkIT/ | ||||
|
投稿日時: 2004-05-12 09:59
引用:
-------------------------------------------------------------------------------- 各実行環境で、当該アプリケーション実行時のセキュリティ設定を甘くしてもらう以外に方法は無かったような気がします。 OpenGL ではなく、Managed DirectX なら、この手の問題は無かったかもしれないですね。(未確認) -------------------------------------------------------------------------------- ゾーンセキュリティの信頼度を変更することにより、アクセス可能になりました。 結局、クライアント全てに手を加えることに変わりは無いのですね。。 イントラでの動作なら良いかもしれませんが、外部まで考えると微妙ですね。。 DirectXも含めて検討したいと思います。 Jittaさん、Jubeiさん、渋木宏明(ひどり)さん、本当にありがとう御座いました。 今後も宜しくお願い致します。 | ||||
|
投稿日時: 2004-05-12 12:47
諸農です。
えっと、インスタンス化のところですね。 ローカル環境アクセスは無いはず。。 ん?P/InvokeでIME関数呼んでいるんですけど。。それが問題? 昨夜はサブマシンのノートのディスクがおかしくなったので、 何も調べずにほったらかしにしています。。(^_^;) _________________ 諸農和岳 Powered by Turbo Delphi & Microsoft Visual Studio 2005 十兵衛@わんくま同盟 http://blogs.wankuma.com/jubei/ |
1|2|3
次のページへ»