• 締切済み

かんたんなアプリインストーラー作成に関して。

はじめまして、プログラム初心者です。 今度VC++2003を利用して、多種のアプリケーションをメニュ形式で選び実行するとインストールできるというアプリを作成使用と思っています。 プロジェクトのテンプレートは何を使用すればよいですか? 動作させたい環境は Windows2000pro WindowsXP WindowsVista .Netがインストールされていなくても動作するもの。 プログラム自体はEXEのみでインストールはしない。(dll不要) 例にたとえると、IO-DATAやバッファローの製品を買うとついてくる添付ソフトをインストールするメニューアプリな感じです。 大変素人な質問で申し訳ございませんがよろしくお願いします。

この投稿のマルチメディアは削除されているためご覧いただけません。
  • rcv74
  • お礼率27% (9/33)

みんなの回答

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.2

VC++2003で外部dll不要のアプリ(exe)を作るには何通りか方法があります。(WTLなんていうのもあります。) MFCを使った場合でも必要なライブラリを全てスタティックリンクすれば外部dllは不要になります。 (MFCをスタティックリンクするかどうかの設定項目がプロジェクトのプロパティにあります。) また「Win32プロジェクト」を選んだ後「空のプロジェクト」を選ぶかどうかは関係なく デフォルト設定ではC/C++のランタイムdll(外部dll)が必要になります。 C/C++のランタイムdllも不要なexeを作成したいなら WinMainを記述した後にプロジェクトのプロパティを開き、構成をReleaseに合わせ 「C/C++」→「コード生成」→「ランタイムライブラリ」の設定が 「マルチスレッド DLL(/MD)」になっているので「マルチスレッド(/MT)」 に変更してください。 そうするとRelease版コンパイル時に出来るexeは他のdllに依存しないものになります。 (今手元にあるのは2005なので多少文言等が違うかもしれません。)

rcv74
質問者

お礼

返答に遅くなってしまい申し訳ありません。 MFCでも作成できるのですね。 空のプロジェクトでも外部dllは必要なのですね。 2003でのマルチスレッド(/MT)設定を探して実践してみます。 ご回答ありがとうございました。

回答No.1

.NETやランタイムがダメならC++仕えと言うことになると思います。 MFC使えばメニュー周りを作るのが楽になりますが、肥大なDLLが必要になるので却下となると、 (全てのWindowsに共通で入っている)WinAPI使って頑張ってウィンドウを作るか、 もうちょっと軽いウィンドウ関連のライブラリを拝借するとかになりますかね。 (そこら辺素人なのではっきりしませんが) >プロジェクトのテンプレート についてですが、ここに入っているテンプレートは、だいたい.NETやランタイム使ってプログラムを簡単にしているものなので、何にも機能のないまっさらなテンプレートを呼び出しましょう。 C++のWin32プロジェクトから、空のプロジェクトを選んでください。 で、 >アプリケーションをメニュ形式で選び実行するとインストールできる というのは、単純にそのアプリから、ShellExecute関数(WinAPI)でも使ってインストーラのexeを呼び出しているだけでいいかと思います。

rcv74
質問者

お礼

返答に遅くなってしまい申し訳ありません。 空のプロジェクトから作成していけばいいのですね。 とりあえずウィンドウから作成していきたいと思います。 なんとかやってみます・・・ ご回答ありがとうございました。

関連するQ&A

  • インストーラの作成方法

    現在.NET C#でアプリケーションを作成しています。 Windows FormアプリとWebアプリを組み合わせて作成しています。 この作成したexeとDLLをインストーラを使用してインストールしたいのですが、通常のインストーラ作成手順に従って作成してもASPが動きませんでした。 どのように作成すればASPとWindowsFormアプリが動作するのでしょうか? どなたかご教授ください。 よろしくお願いします。

  • 【VB2005】インストーラー作成

    VB2005で作成したアプリケーションを セットアッププロジェクトを作成して、 インストーラーを作りたいと思います。 アプリケーションフォルダに、"App.Exe" を追加します。 ユーザーのデスクトップに、"App.Exe" のショートカットを追加します。 ソリューションのエクスプローラーで Manufactureなどを設定して、ビルドして "SetUp.Exe" を作成します。 それだけだと、デスクトップ→Windowsボタン→すべてのプログラム →任意のフォルダ? に、プログラムのショートカットが存在してなくて、どこで設定すればよいか困ってます。 アドヴァイスお願いします。

  • 【VC++】インストーラーの削除

    VC++2005の.NETでアプリケーションを作成しています。 VC++のプロジェクト追加にて、 新しいプロジェクト⇒セットアッププロジェクト を選択し、「.msi」ファイルをビルド生成して、 インストーラーを作成しました。 このインストーラーを実行し、指定のフォルダにアプリのexeファイルは生成することが出来ました。 しかし、このアプリを実行すると、同階層に設定ファイルが生成されるのですが、 アプリ終了後、「.msi」ファイルを再度実行して、インストールファイルの削除をする際に、 インストールフォルダと、その中に設定ファイルのみ残ってしまう状態となってしまいます。 削除時には、設定ファイルも一緒に削除したいのですが、 削除対象のファイルを指定することはできないのでしょうか? ちなみに設定ファイルの状態として、下記となります。 ・起動時に生成 ・ファイル名は同じ⇒よって生成の度に上書き ・生成場所はexeファイルと同階層

  • インストーラ作成について

    いつもお世話になっています 今年の4月からプログラムの勉強を始めた為、まだ初心者ですがよろしくお願いします。 今、会社でVC++で開発を行っているのですが、インストーラを何を使おうか迷っています。欲しい機能としては 1.指定したアプリケーションソフトがPCに入っているか調べる 2.1のソフトのインストール場所を調べる 3.1のソフトのバージョンを調べる 4.1~3の状態しだいでインストールを開始する といったことなのですが、何が良いでしょうか?よろしくお願いします。

  • VC#2005で従来のWinアプリを作成するには?

    Windows2000pro-sp4,VC#2005 Express Edtionを使用しています。 VS6の頃のような従来のWindowsアプリを作成するにはどうすればよいのでしょうか? メニューから、ビルド→...の発行、とたどり、 アプリの発行場所にデスクトップを選んで完了しても、 従来のように.exeファイルが作成されのではなく、 setup.exeや*.exe.manifest,.exe.deploy,.application などが作成されます。 古い記憶では、.NETな環境では、VC++のみが従来のようなWinアプリが作れる、 とあるのですが、そうなのでしょうか?

  • VB2005でインストーラを作成するには?

    VB.NETの初心者です。 VB2005でOracleとmdbにアクセスしてレコードを少し操作するだけの単純なプログラムでインストーラを作成したいだけなのですが、色々試していると「アプリケーションの発行」にて作成できることに気付きました。 しかしなかなかうまくいかず(別PCにインストール途中でエラーになり・・)、OracleDataAccess.DLLやOraOsp9.DLL等を組み込んだりと苦労して一応別PCにセットアップでき、スタート→プログラム→「プロジェクト名」ができあがりましたが、そのプロパティを見ると「Reference Application」となっていて、検索してもEXEの実体がありませんでした。実際にそんなものなのでしょうか?それとも何かやり方が間違っているのでしょうか? 更にいろいろと調べてみると、「発行」とは「クリックワンス」であり、通常はセットアッププロジェクトで行うとサイトにありましたが良く意味がわかりませんでした。 そのあたりお詳しい方おられましたらご教授願えませんでしょうか?

  • アプリを開いた状態にする方法

    いつもお世話になります。 VC++でプロジェクト、「MFCアプリケーション」で Windowダイアログで用いてプログラムを書きましたが、 実行ファイル(.exe)を起動すると ウィンドウが閉じた状態になります(ディスクトップ画面に表示されず閉じて状態ではあるが、起動している状態)。 実行ファイル(.exe)を起動し、ウィンドウを開いた状態にする設定などはあるのでしょうか? ちなみに、閉じた状態で選択するとアプリは開きますが、あくまで、起動して開いた状態にしたいです。 どうぞよろしくお願い致します。

  • 新しいプロジェクトが作成できない。

    VC2008、vistaです。 新規プロジェクトを作成するため 「test」にしてみましたが画像のようなエラーがでます。 「プロジェクトには一意の名前が必要です。名前のフィールドに一意の名前を入力してください。」 とでます。 (テンプレートはWindowsフォームアプリケーション) どのプロジェクト名にしてもこの画面が出てきてしまいます。 これでは新しいプロジェクトが作成できません。 何かわかる方よろしくお願いします。

  • VC++6作成アプリ動作にランタイムは必要でしょうか?

    VC++6にて作成したアプリをWindowsで動作させたいのですが、 VBで作成したアプリのように事前にランタイムをインストール しておく必要はありますでしょうか? すいません教えて頂けないでしょうか?

  • VC++2008 Expressで作成したソフト

    VC++2008のC++/CLIで作成したフォームアプリケーションをほかのパソコンにインストール(exeやdllを指定したフォルダにコピーするだけですが....)する セットアッププロジェクトのようなものを作成しています。 以下の点が分かりませんのでご質問させていただきます。 ・デスクトップに実行ファイルへのショートカットアイコンを作成する方法。 ・すべてのプログラムにソフトを登録する方法。 初歩的な質問ではありますが,分かる方がいらっしゃいましたら,ご回答宜しくお願い致します。

専門家に質問してみよう