先だってから、お騒がせしております「あっちむいて ほい!」です。
ようやく、イメージ通りのアプリケーションができたと思い
早速サーバー上のフォルダにコンパイルしてできた Releaseフォルダにある
全てのファイルをコピーして クライアントからEXEを実行したところ
以下のようなエラーがでて動作しませんでした。(トホホ・・・)
いままでDelphiで開発しておりDelphiはEXEのみ配布すれば動作したのですが
VBはどのように配布すればよいのでしょうか?
********************************************************************
セキュリティポリシーで許可されていない操作をアプリケーションが実行
しようとしました。
必要なアクセス許可をこのアプリケーションに与えるには、
システム管理者に連絡するか、Microsoft .NET Framework 構成ツールを
使用してください。
********************************************************************
度々、ご面倒お掛けしますが、ご教授お願い申し上げます。
補足致します。
開発環境は
IDE : Visual Basic 2008
Database : Oracle 10g Cliant
レポートツール : Crystal Reports XI R2
OS : Windows Vista SP1
実行したいクライアント環境は
Database : Oracle 10g Cliant
レポートツール : Crystal Reports XI R2
OS : Windows Vista SP1
アプリケーションを入れるサーバー
OS : Windows Server 2003 SP1
Database : Oracle 10g
以上です。
宜しくお願い致します。
アプリケーションを、サーバー上の共有フォルダに配置して、
それをクライアントから実行しようとしていませんか?
だとしたら、それをローカルにインストールするようにするか、
もしくは、各コンピュータ上でそのアプリ(または配置場所)を
信頼するように設定する必要があります。
ローカルにインストールされたアプリケーションであれば、
既定ですべての操作が許可されていますが(FullTrust)、
ローカル エリア ネットワーク上、インターネット上などに
配置された物に関しては、実行可能なメソッドに制限が課せられます。
今使用しているメソッド群が、どのような権限を必要としているかを
確認してみてください。
たとえば、ファイルの存在チェックに使う File.Exists メソッドなら、
http://msdn.microsoft.com/ja-jp/library/system.io.file.exists.aspx
の最後に、アクセス許可『FileIOPermission』の Read 権限が必要と書かれています。
あるいは、クリップボードを読み取る Clipboard.GetDataObject メソッドなら、
http://msdn.microsoft.com/ja-jp/library/system.windows.forms.clipboard.getdataobject.aspx
アクセス許可『UIPermission』の AllClipboard 権限が必要とされます。
詳細は、コード アクセス セキュリティについて調べてみてください。
http://msdn.microsoft.com/ja-jp/events/dd263016.aspx
http://www.atmarkit.co.jp/fdotnet/technology/idnfw11_index/index.html
.NET Framework 3.5 SP1からはUNCでのアクセスは完全信頼になっていますね。
http://msdn.microsoft.com/ja-jp/library/cc713697.aspx
開発マシンが3.5 SP1で実行マシンが3.5だったりすると,いくらテストしても再現しない場合があります。
このあたりは細かいバージョンで差がでるので,注意して調査する必要があります。
# ユーザーは3.5か3.5 SP1かなんて気にしないでしょうし。
魔界の仮面弁士さん、度々のご対応誠にありがとうございます。
>ローカルにインストールされたアプリケーションであれば、
>既定ですべての操作が許可されていますが(FullTrust)、
開発マシン以外のVista SP1クライアントのローカルディスクに
開発マシンのReleaseフォルダにある
全てのファイルをコピーしてEXEを実行したのですが
***.EXEは動作を停止しました。というエラーが出て
動作できませんでした。
>今使用しているメソッド群が、どのような権限を必要としているかを
>確認してみてください。
今回使用しているメソッドは、クリスタルレポートに関するもののみ
ですが、これに関しても権限が必要なのでしょうか?
Delphiではこのような処理をしておらず全くの無知のため
大変ご迷惑おかけして申し訳ありません。
YuOさん、ご回答ありがとうございます。
Visual Basic初心者の為、初歩的なご質問で申し訳ありません。
.NET Frameworkのバージョンはどのようにして確認するのでしょうか?
また、たとえば3.5のマシンを3.5 SP1に上げた場合
他のソフトなどに影響はでないのでしょうか?
もうひとつ、今回のサーバーにEXEをおいた場合
サーバーの.NET Frameworkのバージョンを開発マシンに合わせる
必要があるのでしょうか?
かいけつ。
編集 削除