• 締切済み

アプリケーション作成での質問

 現在あるソフトを作成しています。  なかなか専門的な用語が分からず、インターネットでどう検索してよいかわからなかったのでこちらで質問しました。 開発環境はWindows7、VisualStudioを用い、C#言語で開発しています。  今までのプログラムの実行方法は、統合開発環境を経由して実行したことしか経験がありません。ビルドした時に作成される「.exe」ファイルをクリックして実行したことはありますが、基本的に統合開発環境の「実行」でプログラムを実行しています。  そこで、1つ目の質問なのですが自分のプログラムを「アプリケーション」として動かすにはどうすれば良いのでしょうか?  普通ソフトはアプリケーションとして存在していて、それをダブルクリックなりタスクバーから選択するなりして実行します。そのようなアプリケーションとして自分のプログラムを実行するにはどうすれば良いのでしょうか?ビルドした時に作成される「.exe」ファイルをそのままアプリのように使っていると「.exe」ファイルのみを別の場所に移した時に参照しているファイルのパスがおかしくなってしまいます。今のところ「パッケージ化」というものをしたらいいのかな?というところまでは分かってきているのですが、この解釈が正しいのかどうかあまり自信がないです。  2つ目の質問は、Wordのように書類を扱うアプリケーションについてです。自分の解釈としては、Wordの書類をダブルクリックすると、拡張子を見ることで「Wordを用いる」という情報がわかり、OSがWordを実行する。Word側はどのファイルが開かれたのか(パスなのかな?)を受け取り、そのファイルを解析し、画面に書類を表示する。このような流れなのだろうと思っています。  しかし、このような流れの実行方法を自分で作成するにはどのようなことをしなくてはならないのでしょうか?また、このような流れで実行できるアプリケーションを何と呼ぶのでしょうか?用語がわからず調べようがない状態なんです(>_<)  例えば「~.bir」というファイルの中に日付を入力します。 そして、そのファイルをダブルクリックするとアプリケーションが実行されて、ファイルの中の日付が画面に表示される。このようなアプリケーションを試しに作ってみたいのですが...  自分の想像では... 「.bir」はどのアプリケーションの拡張子なのかをOS側に設定しておく必要がある。 アプリケーション側で「.bir」ファイルをダブルクリックした時にパスを受け取る仕組みを作っておく必要がある。  この2つがハードルなのかなぁと思っているのですがよくわからないのが現状です。  なお、現在作っているソフトは自分のPCだけで動けば良いものではなく、他のパソコンにも配布できるような形にしたいと思っています。インストーラなんかを作る形になるのでしょうがそこらへんも含めて全く知識がない状態です。  あまり用語を知らないので分かり易く説明できていないでしょうが回答お願いします。  長文失礼しました><

みんなの回答

noname#212058
noname#212058
回答No.1

1つ目の質問 普通はビルドした bin\release フォルダ配下のバイナリファイルと .exe.config ファイル一式を漏れなくコピーすれば、どこのフォルダに持って行っても動きます。動かないとするならば、.exe.config ファイルか依存する dll ファイルをコピーし忘れているか、作ったプログラムのバグでしょう。 2つ目の質問 「拡張子 関連付け」で調べてください。 配布については、相手の環境をきちんと想定しておくことが重要です。OS は何を使っているのか (今更 Windows XP 使ってたりとか?)、.NET Framework はバージョンいくつまでインストールされているとか。関連付けはさすがに何らかのインストーラが必要になりますが、単に配布するだけなら『相手の環境が想定通りならば』必要なファイルを ZIP 圧縮して送るだけで十分です。

関連するQ&A

専門家に質問してみよう