2017-07-27 63 views
1

我已经使用Visual Studio在C#中编写了一个非常简单的Windows窗体应用程序(我的第一个)。应用程序只显示一个关于本地机器(本地IP,用户名,PC名称,域等等)的信息的对话框,就是这样。当用户点击“确定”按钮时,它结束。XP中的简单Windows窗体应用程序和.NET框架要求

我想将应用程序部署为直接双击运行的可执行文件。我已经提取了Visual Studio在项目文件夹中生成的可执行文件,并已成功在多个不同的计算机上运行它。但是,在一些使用XP的计算机上,我收到一条错误消息,指出它不是有效的WIN32应用程序。

我压制的问题是.NET框架不存在或比目标版本安装旧版本。

我的问题是,是否有可能确保应用程序在(至少)Windows XP上运行,但仍然将其作为双击运行的简单可执行文件?

在此先感谢。

回答

0

你可以尝试以下方法之一:

  • 如果需要的话(Sample for .NET 4.5 and Inno Setup
  • 如果需要的只是检查使用安装程序(如Inno Setup)部署应用程序并安装.NET Framework。 NET框架版本在安装过程中安装,并通知用户,如果它不是(Sample with Inno Setup
  • 编译与.NET本机(我没有使用它,因此我不太了解它,但也许这 Intro可能会帮助你)
  • 使用C++和WMI代替

EDIT1: .NET本地需要Windows 10,从越过它上面

EDIT2:新增C++与WMI作为一种替代方法

+0

谢谢@wobuntu。 这个小应用程序应该放在客户的(我的borther公司的)计算机上,这样当需要支持时,可以很容易地提供对话框中显示的信息。强制用户通过安装来显示对话框似乎太多了。 我以前做过一个VBScript,在任何地方都能正常运行,但是我对对话框的操作(例如没有自定义图像)的限制非常有限。是否有可能在运行时检查所需的.NET,并且如果未检测到框架,让应用程序启动VBScript而不是自己的对话框? –

+0

如果您想要一个即使在XP上运行的简单独立应用程序,我也建议您将C++与WMI结合使用。这里有一个很好的WMI介绍:http://win32easy.blogspot.co.at/2011/03/wmi-in-c-query-everyting-from-your-os.html?m=1 与其他解决方案相比,它可能是您的问题中最容易的一个,使用起来非常简单。另外,你也可以在Stack Overflow上找到很多How-Tos。 – wobuntu

相关问题