我认为最新的Matlab会自动执行此操作。我已经在干净的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已安装等等。应用程序本身不必担心这一点。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top