.NET 4.0 exeに、このexeを実行する前に.NET 4.0フレームワーク /再配布可能なダウンロードをユーザーに依頼するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2960399

質問

最新のMatlabはこれを自動的に行うと思いました。クリーンなWin XP VMで次のexeをテストしました。

namespace DotNetTest
{
    using System.Windows.Forms;

    class Program
    {
        static void Main(string[] args)
        {
            MessageBox.Show("Howdy!");
        }
    }
}

これらすべてがインストールされているコンピューターで実行すると、メッセージボックスとウィンドウが表示されます。きれいなVMで実行すると、このエラーが発生します。

Title: DotNetTest.exe - Application Error
Icon: Error
Buttons: {OK}
Message Body: The application failed to initialize properly (0xc0000135). Click on OK to terminate the application.

MSFTの天才からより良いと期待しています。すべての.NET exeにわずかなオーバーヘッドが含まれていて、その最初のバイトが.NETがインストールされ、より良いメッセージを提示するかどうかを検出する作業を行うことができないのはなぜですか。

これを修正するためにひっくり返すことができるある種の設定はありますか?すべての設定は、新しいプロジェクトを作成したときにVS2010が提供するデフォルトの設定でした。

ありがとうございました。

役に立ちましたか?

解決

Alexandrが言うように、これには実際にインストーラーを使用する必要があります。それが不可能な場合は、最初に実行するために無管理のexeを書いてから.net exeを起動するか、ユーザーに既にインストールされているかどうかに応じてフレームワークをダウンロードするように指示する必要があります。

他のヒント

これは、インストーラーを使用するものです。 .NETではこれがシンプルであるため、プロジェクトを「公開」するだけで、.NETがインストールされていることをShureにするインストーラーを取得します。アプリケーション自体はそれについて心配する必要はありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top