• ベストアンサー

バイナリ内へのファイルの内包

.Netで開発したプログラムからVBScriptを実行したいと考えています。 しかしEXEファイルとVBScriptファイルを一緒に配置したくありません。このような場合、.Netバイナリ内にVBScriptファイルを内包することは可能でしょうか? 可能であればその方法を教えてください。 開発環境:Visual Studio 2003 使用言語:Visual Basic OS:Windows XPです。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.1

スクリプト自体は プログラムリソースとして埋め込むことは可能ですよ プロジェクトに『アセンブリリソース』を追加して 文字列としてスクリプトの内容を登録します リソースマネージャオブジェクトを介してこの文字列を取得します dim objAsm as System.Reflection.Assembly dim rm as ResorceManager dim ss as String objAsm = Me.GetType.Assembly rm = new ResorceManager("EXEファイル名.リソースファイル名"、objAsm ) ' リソースに登録しな文字列の『name』属性を指示 ss = rm.GetString("myString") といった具合で取り出せます MSScript.OCX『Microsoft Script Control』を使えばファイルに落とすことなく実行も出来るかもしれません dim objScript as New MSScriptControl.ScriptControlClass objScript.Language = "VBScript" objScript.AddCode( ss ) ' Sampleプロシージャの実行 ObjScript.Run("Smaple") といった具合です

g_zero
質問者

お礼

なるほど、リソースマネージャから取得した文字列を「Microsoft Script Control」でスクリプトとして実行するといった感じの流れですね。よくわかりました。 ところで上記プログラムは.Net Frameworkさえ入っていればどのマシンでも動くものなのでしょうか?「Microsoft Script Control」はVistaには入っていないと聞いたことがあります。コンパイルさえすればVista上でも動くのでしょうか? 分かりましたらお願いします。

その他の回答 (1)

  • redfox63
  • ベストアンサー率71% (1325/1856)
回答No.2

Vista Ultimateには Msscript.OCXは Windows\Systemに存在するようです ただ、確認したVistaには VB2005EEなどをインストールしたあとなので素のVistaで搭載されてるのかを確認していません また、バージョンのチェックも必要でしょう Interropで参照設定されたDLLの配布が可能なのかも確認した方がいいでしょう

g_zero
質問者

お礼

色々参考になりました。 環境を借りて私も調べてみたいと思います。 ありがとうございました。

関連するQ&A

  • Visual Studio > ユーザ配布ファイル

    これまでVisual Studioのソフトを作成したことがなかったのですが、Visual Studio Community Editionが利用可能となった機会に、作成をしてみようかと思います。 Visual Studioでは.NET Framework上に.NETプログラムを作るという認識なのですが、ファイル配布の点でよくわかりません。 以前は、Borland c++ builderなどでソフトを作っていたことがあり、その時は.exeファイル単体で配布できるようでした。Visual Studioでも同様な方法で (1つの実行 .exeファイルとして )配布することは可能でしょうか? あるいは、.NETフレームワーク関連のファイルインストールをソフト利用者にしていただく必要があるのでしょうか? または、インストーラの形を用意する必要があるのでしょうか?

  • 実行環境

    現在Visual Studio .Netで、VBを使用してあるソフトを開発しています。 初心者です。 作成されたexeファイルは、Visual Studioがインストールされていないパソコンでも実行できますか??

  • 実行ファイルについて

     OSはWinXPでコンパイラはVC++を使用しています。  作成したプログラム等がVisual Studio Projectsフォルダに保存されて、Debugの中にある実行ファイルが私の場合「program.exe」と保存されています。 その実行ファイルprogram.exeをcmdまでドラッグして実行すると問題なく実行できるのですが、program.exeそのものをクリックして実行すると、プログラムが終了したと同時に画面が消えるようになってしまいます。これを勝手に消えなくするにはどうすればよいのですか?教えてください。 *プログラム自体は問題ありません。

  • バッチファイルをexeへ

    バッチファイルで一連の処理を行うようなツールを作ったのですが、他者に実行内容を見せたくありません。 (セキュリティー的に+見栄え的に) batをexeのようなバイナリの実行ファイルに お手軽変換するようなツール等はありますか? 開発環境:WindowsXP (VBやVCのような開発ソフトは持っていません) 実行環境:WindowsXP、Windows2000 以上、よろしくお願いします。

  • バイナリファイルの通信について

    Webシステムの開発を検討しています。 サーバはJavaで開発し、クライアントはIEなどのWebブラウザではなく、VBのクライアントアプリケーションで構築しようと考えいます。 その際、問題となっている事は、バイナリファイルの通信方法です。 例えば、クライアントが起動した際にサーバからイメージファイルを送信する方法など。 バイナリファイルをテキスト文字列に変換して送信することはできると思うのですが、他には、クライアントとサーバで言語が異なる場合、一般にどのようなバイナリファイルの送信方法があるのか、色々比較した上で決めたいと思っています。 色々な送信方法や、参考Webサイトなど、ご存知の方がいらっしゃいましたらご教授願います。

  • 作ったEXEファイルを他PCで実行できません

    VB.NET2008でEXCEL2007のファイルを作成するEXEを作りました。開発環境OSはXPです。コンパイル後にできるReleaseフォルダを他PC(OSはWindows2003サーバー、EXCEL2007インストール済み)にコピーして実行したのですが、何事もなく終わってしまいます。このEXEを実行すると最初にメッセージボックスを表示し、テキストファイルにログを書き込むようにプログラムしていますが、サーバー機ではメッセージボックスは表示されず、ログファイルも作成されません。同じ開発機で作成した別のEXEは正常に実行してExcelファイルも作成されます。 よろしくお願いします。

  • windows7でプログラムがうまく動かない

    こんにちは。 プログラムで困ったことがあったので、質問します。 win XPにインストールしたvisual studio 2005で作ったC言語のプログラムをwin7にインストールしたvisual studio 2005で実行したところ、実行の画面は開いたのですが、その後が通常通りの操作に至りません。 このような場合はWindows XPモードで行うしかないのでしょうか? あまり詳しくかけないで申し訳ないのですが、よろしくお願いいたします。

  • .cfgファイルについての質問

    visual studio 2003で書かれたプログラムのソースをダウンロードしました. visual studio 2005で開いてみるとプロジェクトの中に.cppファイルと.hファイルと, あと.cfgファイルというものがありました. プログラムのマニュアルを見ると~~.cfgファイルを書き換えることで 設定を変更できるとのことです. cfgを書き換えることはできますが,C言語のプログラムで.cfgをどのように利用しているかがわかりません. C言語での.cfgの使い方,使い方の解説をしてあるページを知っている方がいたら教えてください.

  • VBでバイナリファイルのコピー・リネーム

    Visual Basicで 指定したバイナリファイルに対し、ファイル名をつけて別のディレクトリに保存するというプログラムを作ろうと思っているのですが、 何か良いコンポーネント等はないですか? 環境 OS:Win2000 VB:ver 6.0

  • DBD::Pg-1.49 のバイナリ

    Postgres SQL との連携のプログラムを動かしたいのですが、DBD::Pg がセットアップできずに困っています。 ReadMe を見ると Microsoft Visual Studio .NET 2003 と Microsoft Visual C++ Toolkit 2003 でコンパイルが必要みたいなのですが、その環境が私のパソコンにはありません。 DBD::Pg-1.49 のバイナリをお持ちの方はいますか?

    • ベストアンサー
    • Perl