• ベストアンサー

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

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

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

  • ベストアンサー
  • Wr5
  • ベストアンサー率53% (2177/4070)
回答No.2

ExpressEditionではセットアッププロジェクトは使えなかったような……。 CLIは触っていないのでよくわかりませんが… ランタイムとかのインストールは不要なんですかね?? >・デスクトップに実行ファイルへのショートカットアイコンを作成する方法。 >・すべてのプログラムにソフトを登録する方法。 SHGetFolderPath()APIとかで取得できたかと思いますが…。 デスクトップだとCSIDLがCSIDL_DESKTOPDIRECTORYかな。 すべてのプログラムって、スタートメニューですよね? ユーザ別ならCSIDL_PROGRAMS、すべてのユーザに適用するならCSIDL_COMMON_PROGRAMSでしょうか。 具体的なパス名取得したら、後はショートカットファイルをそこに作成…ってことになるかと。

con014057
質問者

お礼

ご回答ありがとうございます。 SHGetFolderPathで調べることによって,スタートメニューに登録することが出来ました。 シュートカットファイルの作成ですが,CreateShortcutなどで調べたのですが,C#のプログラムしか出てきませんでした....

その他の回答 (1)

  • samtomsan
  • ベストアンサー率55% (1060/1897)
回答No.1

「vs2008 セットアッププロジェクト」で検索するといろいろな情報が見つかります。 下記などを参照していただくほうが分かり易いかと思います。 http://code.msdn.microsoft.com/windowsdesktop/10-4ca748ce

con014057
質問者

お礼

ご回答ありがとうございます。 Expressではセットアッププロジェクトは選択できないようでした...

関連するQ&A

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

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

  • BCBで作成したDLLを、VC++で静的リンクさせる方法

    BCBで作成したDLLを、VC++で静的リンクさせる方法 Borland C++ Builderで作成したDLLを、VC++アプリケーションで利用できるように LIBファイルに変換したいのですが、上手くいきません。 下記の手順を踏みました。 1. BCBでDLL作成   「VC++スタイルのDLL」で作成、   「VCLを使う」「CLXを使う」「マルチスレッドを使う」はチェックせず 2. コマンドラインで「IMPDEF.exe」を使用して、dllからdefファイル作成   (IMPDEF.exeは、\Borland\CBuilder6\Binに格納されていた) 3. コマンドラインで「LINK.exe」「LIB.exe」を使用して、defからlibファイル作成   (LINK.exeとLIB.exeは、\Microsoft Visual Studio\VC98\Binに格納されていた) 4. VC++プロジェクトファイルを保存したフォルダに、DLLファイルとlibファイルをコピー 5. VC++の「プロジェクト」-「設定」-「リンク」-「オブジェクト/ライブラリモジュール」に   作成したlibファイルを追加 VC++プロジェクトをビルドすると、下記のエラーメッセージが表示されます。 ///////////////////////////////////////////////////////////////////////////////// dllread.obj : error LNK2001: 外部シンボル "__imp__(関数名)@0" は未解決です LIBC.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Release/dllread.exe : fatal error LNK1120: 外部参照 2 が未解決です。 link.exe の実行エラー ///////////////////////////////////////////////////////////////////////////////// BCBとVC++のバージョンは、下記の通りです。 BCB Professional 6.0 VC++ 6.0 ちなみに、同じDLLを動的リンクで利用することは出来ました。 初心者の質問で申し訳ございませんが、解決策が分かる方がいらっしゃいましたら 教えていただけないでしょうか?

  • VC++6で作成したDLLをVC++.NET2003から呼び出せますか

    現在、VC++.NET2003で作成しています。あるメーカから提供されているDLLがあるのですが、そのDLLとのリンクまではできたのですが、実行するとエラーになってしまいます。 (プログラムが異常終了するのではないのですが、そのDLLからの戻り値がエラーになり、期待した結果が得られません。) そのDLLはVC++6で作成したものらしく、マニュアルには、VC++6で作成したアプリケーションからの呼び出し方法が、記述されていました。 VC++6でアプリを作成すれば、正常に呼び出せることは明白なのですが、いかんせん、VC++.NET2003での開発が、ある程度進んでしまっていますので、いまからVC++6に切り替えるわけにもいきません。 それで、一般論として、確認したいのですが、VC++6で作成したDLLをVC++.NET2003で使用することは、出来ないのでしょうか。(これから、メーカにも確認する予定ですが、まずは、こちらで確認したく、投稿した次第です)

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

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

  • vc++6.0にてdllとlibraryを作成する方法

    vc++6.0にてdllとlibraryを作成する方法 を知りたいのですが、dllとlibraryを それぞれ新規プロジェクトで立ち上げれば 作成できるのですが、dllを作成した際に libraryも作成(自動)されるようなことは できないのでしょうか?

  • VC++でlib作成

    VC++初心者です。変な質問かもしれません。 VC++でライブラリー(~.lib)の作成は出来るのでしょうか。以下は可能である場合の質問です。 1)プログラミング自体に特殊な事、あるいは決め事はあるのでしょうか?普通のexeを作成する時と同様で何も意識する事は無いのでしょうか? 2)作成自体はexeを作る時の様にビルドにより行うのでしょうか?操作が知りたいです。 3)何らかの共通処理をdllとして作成するのと、libとして作成するのでは何か違いがあるのでしょうか。単純に考えると、実行時に動的にリンクするdllの方がレスポンス面で劣り、スタティックにリンクするlibの方がアプリケーションモジュール(共通処理を呼ぶ側)が大きくなる様な気がします。設計する時にどうやって切り分けを行っていますか? (スタティックにリンクするのがlibと書いてしまいましたが、これ自体も良くわかっていません。) 以上、よろしくお願いします。

  • VC++6 EXEをDLLに変換

    VC++6の「Win32 Aplication」で作成したプロジェクトがあります。 ビルドするとEXEができますが、これをDLLにするには どうすればよいですか。 よろしくお願いします。

  • VC++2008Expressのexeを他のPCで動かす

    VisualStudio2008C++Expressで作ったexeを他のPC(VC2008がInstall されていない)に持って行って動かそうとすると、 「このアプリケーションの構成が正しくないため、アプリケーション を開始できませんでした。」と表示され実行できません。 webを検索すると「VC2008関連のdllが必要」と書かれていたりします が、DLLをインストールするのは難しい状況です。 VC2008側でStatic Libraryを使うなどの設定を探しましたが見つかり ません。なにか良い方法で解決することはできないのでしょうか? アドバイスをお願いします。よろしくお願いします。

  • VC++で作成したDLLについて

    すみません、 VC++6.0で作成したDLLについて教えていただきたいのですが。 TEST_A.DLLというDLLと、TEST_B.DLLというDLLファイルを作成したとして これをC:\TEST\DLL\に格納してるとします。 このとき、TEST_B.DLLからはTEST_A.DLLの関数を呼び出しています。 次に、TEST_B.DLLの関数を使用しているTEST.EXEという実行ファイルを VB6.0で作成します。 このファイルをC:\TEST\EXE\に格納します。 そして、TEST.EXEを実行すると、 「TEST_B.EDLLが見付かりません」と言って怒られてしまいます。 VBでは、TEST_B.DLLをフルパスで指定しております。 しかし、TEST_A.DLLをEXEと同じ場所に置いてあげると 正常に動きます。 これは、TEST_B.DLLからTEST_A.DLLが見えていないということなのでしょうか? TEST_B.DLLの設定がおかしいのでしょうか? それとも、TEST.EXEでもTEST_A.DLLをフルパス指定してあげないといけないのでしょうか? ちなみに今回、プロジェクトマネージャーから「環境変数(PATH)の設定はしたくない」と言われていますので、PATHの指定はしてません。 すみませんが、どなたか教えていただけますでしょうか?

  • VC++のコーディングについて

    VC++初心者です。 VC++のWindowsフォームアプリケーションを使用してテストプログラムを作ってみようと思っています。 初歩的な質問ですみません。 VC++でWindowsフォームアプリケーションを作成する場合、 フォームのヘッダーファイル(Form.h)にコーディングしていくものなのでしょうか? ボタンクリック処理など、ヘッダーファイルに作成されてしまいます。 私の先入観で、cppファイルにコーディングするものだと思っていたのですが、 VC++のWindowsフォームアプリケーションとは、こういうものでしょうか? ヘッダーファイルにコーディングするという感覚が何だか気持ち悪いです。 また、VC++を使用してWindowsアプリケーションを作る勉強がしたいのですが、 「初心者でも分かる+オススメの参考書籍」がありましたら、教えていただけると幸いです。 基本的な質問で意味不明かもしれませんが、ご回答いただけると助かります。 よろしくお願いします。

専門家に質問してみよう