none
CD自動起動について RRS feed

  • 質問

  • Visual Studio2005にてCD自動起動のマクロを作成した所、自分のパソコンでは動作するのですが、

    他の人のパソコンで起動すると、

    「このアプリケーションを実行するには、最初に以下の.NET FRAMEWORKバージョンの

    いずれかをインストールする必要があります。V2.0.50727」

    とメッセージが出ました。

    このCDの特性からある程度古いパソコンでも起動して欲しいのですが、

    ユーザーがインストールしないでも済む手はありませんでしょうか?

     教えて下さい。

     

    以上

    2007年6月4日 5:40

すべての返信

  • autorun.infファイルを作成するのはいかがでしょうか?
    2007年6月4日 8:25
  •  たけちゃん さんからの引用

    Visual Studio2005にてCD自動起動のマクロを作成した所、自分のパソコンでは動作するのですが、

    他の人のパソコンで起動すると、

    「このアプリケーションを実行するには、最初に以下の.NET FRAMEWORKバージョンの

    いずれかをインストールする必要があります。V2.0.50727」

    とメッセージが出ました。

    .NET Framework 2.0 をつかったものだと、素のOSで動作できるのは、Vista のみとなります。

    なので、古いOS(XPも含む)でもインストール作業を行うことなく、動作させたいのであれば、.NET Framework を一切使わずにつくる以外の選択肢はありません。

     

    もちろん、MSVCR80.DLL などもスタティックリンクという形になります。

     

    こうすることで、OSになにがインストールされているかに関わりなく動作させられるようになります。

    実際、setup.exe などのソフトは全てそのように作られています。

    2007年6月4日 9:01
  • ふじさきさん回答ありがとうございます。

     

    autorun.infファイルを作成するのはいかがでしょうか?

     

    →既にautorun.infは入れています。どうやらEXE自体がうまく動作しないようです。

    2007年6月5日 0:15
  • NET Framework 2.0 をつかったものだと、素のOSで動作できるのは、Vista のみとなります。

    なので、古いOS(XPも含む)でもインストール作業を行うことなく、動作させたいのであれば、.NET Framework を一切使わずにつくる以外の選択肢はありません。

     

    →という事はVisual Studio2005で作成したEXEは古いパソコンで動作しないという事になりますね。

     とっちゃんさん回答ありがとうございました。

     

    .NET Framework を一切使わずにつくる以外の選択肢はありません

     

    →Visual Studio2005で.NET Frameworkを一切使わずに作る方法というのはあるのですか?

    実を言いますと、元々Visual Studio6.0のソースをVisual Studio2005にバージョンUPして

    構築したのです。やはりStudio6.0の開発環境の中でプログラムを修正した方が良かったのでしょうか?

     

    2007年6月5日 0:48
  • 上の方も書かれていますが、C#などの.NET Frameworkを使ったアプリ(EXE)を
    動かすためには、.NET Frameworkのインストールが必須です。

    というわけで、.NET Frameworkのインストールを行うプログラムを、
    C/C++で自作するか、何らかのランチャーを使うしかありません。
    Microsoft Component Installer SDKを使ってみてはどうでしょうか。


    ■Microsoft Component Installer Software Development Kit for Windows (x86) Version 2.0
    http://www.microsoft.com/downloads/details.aspx?FamilyID=2a5e4ebc-651c-40aa-9525-1810af47c317&DisplayLang=en
    2007年6月5日 5:11
  • VC6 時代と同様、C/C++ を利用し、/clr のスイッチはつけない、各種ランタイムライブラリはスタティックリンクするとすれば、特に問題はありません。

     

    自前のブートストラッパーを持ってますけど、上記のような設定でビルドすることで、98/SE/ME/2000/XP/Vistaの素のOSでも動作するものを作れていますよ(UNICODEにしないこともわすれずにですがw)。

     

    もちろん、一切のアップデートをかけずの状態で動くものです(ネットにすら繋がないでのテストですしw)。

     

    .NET Framework を利用したいと言うことであれば、セットアッププロジェクトで必須コンポーネントに指定してインストーラを作るか、予めインストールしてもらうかと言うことになると思います。

    2007年6月5日 5:35