• 締切済み

実行ファイルにファイルを埋め込む

お世話になります。 指定した条件に該当するデータを検索するアプリケーションを開発しています。その後、検索結果をファイル化します。このファイルの内容を参照するビューワを別途アプリケーションとしても開発しています。 ここで疑問なのですが、ファイルをそのビューワに埋め込むことができれば便利じゃないのかなと思いました。ただそれを実現する方法がわからないのでご存知の方がいれば教えていただけないでしょうか? 開発環境はVisualStudio2005で言語はC#、OSはWindows XP SP2です。 よろしくお願いします。

みんなの回答

回答No.3

端末がLAN内にあれば、自分ならWebアプリケーションにしたくなりますね。 それならアプリケーションのインストールは不要ですから。 でもリムーバルなメディアには入れられませんし、 ページを簡単に保存できてしまうので使用期限を設けるのは難しそうとかいろいろ問題はありますね。 「アクセス期限」なら簡単でしょうけれど。 それに、すでにC#で開発をすすめられているのであれば、いまさら方針転換も難しいでしょうしね。 となると、やっぱりSDKをインストールしてcsc.exeを使うのが 自分が思いつく限りでは無難かと思います。 ビューワはモジュールとしてコンパイルしておきます。 検索アプリケーションはビューワと検索結果のファイルを cscのそれぞれaddmoduleオプションとresourceオプションで追加すして ビルドすればいいでしょうね。 昔は美人であったかもしれないかたたちが相手ではたいへんでしょう。 がんばってくださいね。

tonytonychopper
質問者

お礼

私個人で作ってるシステムじゃありませんし、言語や実行環境も既に決まっているパッケージなのでなかなか思うようには・・・ せっかくいいアイデアを頂いたのですがSDKを導入ことさえ「えっ?」というメンバーしか回りにはいないなど、ユーザーよりもこちら側の問題から回避しないといけない雰囲気がーー; いろいろがんばってみます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

>参照する端末にアプリをインストールしない とのことですが、ビューワをC#で開発するのであれば端末に.NET Frameworkのインストールが必要になるかと思います。 端末はすべて.NET Frameworkがすでにインストールされているものとしてよろしいでしょうか? それとも、ビューワはWindowsネイティブで開発するとか? >実行環境にはコンパイラをインストールしていない 検索アプリケーションを実行する環境に同時に.NET Framework SDKのインストールを要求できるのであれば、 そのコンパイラを利用して実現するのは難しくはなさそうです。それならば、 >出来れば実行ファイルは既にコンパイル済みで というのも実現可能でしょう。 ビューワと検索結果を同一ファイルで扱いたい理由ですが、理由1は質問そのままですし、 理由2はその検索結果ファイルに見せたくない個人情報が含まれていてそれを表示できる、というのは不思議です。 理由3は外部メディアにビューワと検索結果ファイルを一緒に入れておくのでは不都合な理由が思いつきません。 なかなか詳しい理由を答えられないやむを得ぬ事情がおありだと拝察しますが、 それがはっきりすればもしかしたらビューワにファイルを埋め込むのとはまったく異なる 使い勝手を向上する手段がほかに見つかるかも知れませんね。 余談ですが、Javaのアーカイブ形式であるJARファイルは、その実態がZipファイルであるため JARにファイルを追加するのは簡単です。Zipを扱う機能すら、標準でJavaに含まれています。 このようなことが.NET Frameworkアセンブリでもできるとよいのですが……。 以下は.NET FrameworkのMicrosoft実装における実行可能ファイルの仕様です。 191ページの"25 File format extensions to PE"あたりがその内容になるかと思います。 リンカ相当のプログラムを自力で書くなら必要になるかと思いますので、 付記しておきます。 http://download.microsoft.com/download/7/3/3/733AD403-90B2-4064-A81E-01035A7FE13C/MS%20Partition%20II.pdf

tonytonychopper
質問者

お礼

ビューワも.NET Frameworkがインストールされていることが必須です。 実行環境にSDKを導入すればよさそうなので試してみたいと思います。 もう少しお話すると、 1.検索結果を出力する端末はクローズされたLAN環境下にある。   顧客へメール送信する際には、インターネットが利用可能な端末   にUSBメモリなどの媒体で本人が持参しその情報を元にメール送信 2.検索結果はファイル出力すると暗号化 3.ビューワは起動と同時に通常使用するアプリケーションと同じ   ID/PASSWORDでログイン 3.暗号化および複合化にはID/PASSWORDをキーとして行うような   ロジックを採用し、間違ったものを入力した場合にはビューワ   側で複合化できないので結果は参照できない   かつ、使用期限も設定 4.ぶっちゃけ、使用するのはPCに不慣れで、昔は若くて美人であっ   たか可能性があるかもしれない方が多いのでファイルをいっぱい   作りたくない などなどですね。 それでも他によい手段があれば教えていただければと思います。

全文を見る
すると、全ての回答が全文表示されます。
回答No.1

アプリケーションの実行ファイルになんらかのファイルを埋め込む場合、 実行ファイルのリンク時に一緒にリソースファイルをリンクすることで埋め込みます。 ご質問のケースに当てはめると、検索アプリケーションが検索結果のリソースファイルをリンクした ビューワの実行ファイルを生成することになるでしょうか? そもそもなぜそのファイルをビューワに埋め込むと便利だと思ったのでしょうか? ご質問の内容を読む限りでは、それによって使い勝手がそれほど変わるとは自分には思えません。 以下は.NET Framework SDKにおけるリソースファイルの取り扱いを示したチュートリアルです。 http://msdn.microsoft.com/library/ja/default.asp?url=/library/ja/cptutorials/html/resources_and_localization_using_the__net_framework_sdk.asp

tonytonychopper
質問者

お礼

回答ありがとうございます。 出来れば実行ファイルは既にコンパイル済みで、と言いたいのですが難しいようですね。実行環境にはコンパイラをインストールしていないし。 使い勝手に関してはこちらにもいろいろ理由はあるのでツッコミいれらても困るのですが、いちおう回答すると 1.ビューワと検索結果を同一ファイルで扱いたい 2.そのファイルには個人情報もあるので簡単に内容を見えない   ようにしたい 3.検索結果をUSBなどリムーバルなメディアに出力して他端末で   参照するような運用も視野にいれている   参照する端末にアプリをインストールしない などなどあります。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VS2010の実行ディレクトリはどこですか?

    VisualStudio2010 C# で作業をしています。 非常に基本的なことが分からず困っています。 アプリケーションから外部のファイルを参照 するのにいったいどこから相対パスを記述( ../../data/test.png)すればよいのか分からず あちこちにフォルダを移動してみますがなかなかうまくいきません。実行ファイルが生成される フォルダが起点だとするとどうも違うようなのです。objフォルダでもbinフォルダのどこでもなく だとするといったいどこが実行の基準なのか、?Dos の時代からプログラミングしているのに (すごくシンプルだからこんな悩みはなかったのに)なんでこんなコトがわからないのか、、 情けないです。 開発PCを変えたとたん、(project フォルダ丸ごと引っ越したのですが)なぜか外部ファイルが 参照出来なくなりました。そういえば最初からなんとなく出来ていただけ、、でした。 どなたか教えていただけませんか?

  • ファイルのアップロードと表示

    VS2005(Webアプリケーション、vb)で開発を行っています。 今回、Web上からファイル(PDF,EXCEL)をFileUploadでSQLサーバーに取り込み、その後は逆に、SQLサーバーからWeb上にファイル名を表示してクリックすると、そのファイルが参照できるようにしたいのですが設定が良く分かりません。 goo検索しても適切な検索文字でないか?該当しません 参考になるサイトでも構いませんので、よろしくお願いいたします。

  • シェルからCで作った実行ファイルを動かすには?

    当方、完全に初心者です。 bashのファイルからC言語の実行ファイルを動かすことは可能でしょうか? いくつかのCの実行ファイルを、引数を指定して実行させたのですが、 どのようにすれば一番効果的でしょうか。引数を変えて何度も実行させたいので、スクリプトを書くと便利かなと考えたのですが。 どのように書けばいいのかがわかりません。 どうぞご教授ください。よろしくお願いします。

  • htmlページからクラスファイルを実行

    お世話になります。 現在ASP.NETでの開発を行っております。 「htmlページからクラスファイルを実行」について *クラスファイルはアプリケーションに"App_Code"というフォルダを配置しその中に格納しています。 1.htmlページからクラスファイル(XXX.vb)を参照できるのか 2.htmlページからクラスファイルを参照(処理の実行)を行うにはどのようなコードの記述が必要なのか という2点について調べていますが思うような情報がありません。 どなたかご存知の方がいらっしゃいましたらお教えください。 よろしくお願いいたします。

  • アプリケーションの追加と削除 ファイル名実行はどうする。

    こんにちは、 環境:Windows2000 SP4 「アプリケーションの追加と削除」の画面を「ファイル名を指定して実行」で出したいのですが、どうすればいいのでしょうか? また、どうやってファイル名を探すことができるのでしょうか? 何かお分かりの方がいましたら教えてください。 よろしくお願いします。

  • Windows CE用のアプリケーションを開発することになりました。

    Windows CE用のアプリケーションを開発することになりました。 ベンダ提供のSDKを使用せずに、開発やデバッグを行う方法が分からず困っております。 開発環境としては、 ・Windowas XP SP3 ・VisualStudio 2010(言語はC#) 以上です。 ネットでも資料を色々探していますが、 開発環境については知識が少ないので難航しています。 ご教示よろしくお願いします。

  • Visual Studio で実行ファイルが作れません

    C言語の勉強のため、VisualStudio2005standard を初めて使い始めましたが、ビルドできたのに実行ファイルができません。 ファイル→新しいプロジェクト→プロジェクトの種類→VCC++→win32→コンソールアプリケーション→プロジェクト名の入力→アプリケーションの設定→完了 このように操作したら、ソースフォルダの下に拡張子 .cpp のC++のひな形ができたので、それにソースを書いて、拡張子を .c に替えて保存し、ビルドしたらエラーはありませんでした。 しかし、オブジェクトファイルまたは実行ファイルは作成されていず、メニューの実行コマンドも無効の表示で、実行できませんでした。 操作の誤り、何らかの設定の必要があればご指摘いただきたいです。 よろしくお願いします。

  • templateクラスの宣言と定義を、別々のファイルに分けたい

    こんばんは。 templateを利用したクラスについての質問です。 通常、テンプレートクラスのメンバ関数は、その定義部分をインライン展開するべき、とのことですが… なんとかして宣言部と定義部を別々のファイルに分ける事は出来ないでしょうか? テンプレート変数をクラス内で共有したいため、テンプレート関数ではなく、テンプレートクラスで上記の事を実現したいのです。 「コンパイラによっては、インライン関数でなければならない」という記述を見かけたので、 コンパイラによってはインライン関数でなくても構わないのでしょうか? 開発環境は WindowsXP-SP2 VisualStudio2005-SP1 C++コンソールアプリケーションです。

  • BASIC系のフリーの開発環境

    いろいろ探したのですが、見つからなかったのでもし条件に該当するものがありましたら教えてください。 条件: ・できればBASIC系の言語であること(BASIC系でなくても覚えやすければいいです。) ・開発環境がフリーであること ・フォームなどをGUIで作れること ・ランタイム不要のアプリケーションを作成できること

  • VisualStudioのClickOnceで任意のファイルを一緒に配

    VisualStudioのClickOnceで任意のファイルを一緒に配布するには いつもお世話になっております。 只今ClickOnceに挑戦していまして、ある程度行けたのですが どうしても解決できないものがあります。 やりたいこと  あるフォルダに複数のファイル(exeなど様々)を入れて  実行ファイルのカレントディレクトリに置いた状態で一緒に配布する 色々調べてはみたのですが、やり方が分かりません。 そもそも、そういうことはできないのでしょうか・・・? 開発環境はVisualStudio2008 開発言語はC# OSはVistaです。 わかる方がいましたらお願いします。