はじめまして。
先日よりVB.NETアプリケーションの作成をはじめたものです。
アプリケーション配布対象は閉じたネットワークに属する10台〜15台
のデータベースアプリケーションのクライアントで、OSは2000/XP
となっています。
先ほど、XP(.NET Frameworkインストール済み)のPCにEXEファイルを
持ち込み実行したところ最初のフォームは表示されるのですが、
スクリプトを記述してある部分(ボタンなど)になると
"アプリケーションはセキュリティ ポリシーで許可されていない操作を
行おうとしました。操作にはSecurity Exceptionが必要です。
このアプリケーションに必要なアクセス権限を得るには、システム管理者
に連絡するか、Microsoft .NET セキュリティーポリシー管理ツールを
使用してください。"とでて実行ができません。
クライアントの設定はなにもせず、アプリケーションを配布(EXEコピー)
しただけで動かしたいのですが、どのようにすればよろしいでしょうか?
よろしくお願いいたします。
まず、最初に確認すべきことは
http://www.microsoft.com/japan/msdn/net/deployment/dotnetframedepguid.asp
では?
> スクリプトを記述してある部分(ボタンなど)になると
スクリプト…?
VB.NET 内で、何かのスクリプト言語を呼び出しているって事ですか?
http://e-words.jp/w/E382B9E382AFE383AAE38397E38388E8A880E8AA9E.html
> クライアントの設定はなにもせず、アプリケーションを配布(EXEコピー)
> しただけで動かしたいのですが、どのようにすればよろしいでしょうか?
「コードアクセスセキュリティ」という言葉を知っていますか?
知らないなら、まずはヘルプやWebで基礎知識をつけておいてください。
https://www.microsoft.com/japan/seminar/msdn/300sec/codeaccesssecurity/default.mspx
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
http://msdn2.microsoft.com/ja-JP/library/c7517ya6.aspx
(1) そのアプリをどこに配置しているのかをチェック。
クライアント側で特に設定をしていない場合、初期設定のマシンポリシーが
適用されるのだけど、この場合、ローカルのHDD上にアプリが配置されている
場合と、ネットワーク上のフォルダにある時では、セキュリティ上の違い
(MyComputer_Zone / Intranet_Zone)があり、結果として、使用可能な命令に
差が生じる事になります。
(2) そのアプリから、どんな命令を呼び出しているのかをチェック。
コードによっては、一定以上のセキュリティ権限を許可している場合しか
使えない可能性があります。たとえば、System.IO.FileStream クラスには、
ヘルプに FileIOPermission のアクセス許可が必要だと書かれていますね。
このページは何度か読みました。
.NET Frameworkのインストールは既に終わっています。
Microsoftのページより.NET Framework 1.1をインストールしています。
この環境に、EXEファイルをコピーした場合の話です。
初期設定用のプログラムなのでインストールを行ったりはしません。
一番最初にだけ立ち上げるためのものなので・・・。
.NET Frameworkがインストールされているにもかからず、エラーが出る理由を
教えていただきたく、こちらに書き込みを行いました。
>Dentalさま
(1) そのアプリをどこに配置しているのかをチェック。
現在ネットワークドライブ上にEXEファイルおよびそこから呼び出される
VBSファイルを置いてあります。
(2) そのアプリから、どんな命令を呼び出しているのかをチェック。
たいした命令は呼んでないと思いますが、
Shell関数およびWindowAPIを呼んでいる数行のプログラムです。
ツイート | ![]() |