如何编写可移植的Windows应用程序?

时间:2009-10-13 12:07:51

标签: windows components portability

有时候,我想编写一个简单应用程序,该应用程序可以在任何Windows机器上运行,无需在C#或Java 中安装任何程序或组件(例如.NET Framework) 编程语言。我怎么能这样做?

感谢。

编辑:添加了'喜欢',对不起......

6 个答案:

答案 0 :(得分:2)

c#和Java都需要运行时库,这些库必须与应用程序分开安装。

例如,您可以使用Delphi编写独立应用程序。

答案 1 :(得分:1)

是,

如果你使用c ++,你可以使用更多的核心API,比如Win32,但这样做会有更多的工作。 Atm几乎每个人都将安装.NET Framework 2,如果我要编写一个便携式应用程序,我将基于.NET 2。

我相信还有使用.NET 2编写的应用程序,它随Framework dll文件一起提供,因此不需要安装框架。我知道http://www.nliteos.com曾经这样做,但我无法找到他们这样做的那些版本。

答案 2 :(得分:1)

正如其他人所建议的那样,如果您愿意使用普通的Win32 API编写C / C ++,就可以这样做。但是,请确保静态链接到C运行时库。否则,您的用户可能拥有这些库的旧版本,并且需要安装Visual Studio可再发行组件才能获得您编译的相同版本。

或者,使用像Cygwin或MinGW这样的GCC工具链。使用Cygwin,您需要分发cygwin1.dll并根据GPL许可您的程序,但是使用MinGW,您应该能够动态链接,并且您的程序应该在大多数Windows安装上运行。

答案 3 :(得分:1)

您的标准是“简单应用程序”,使用“类Java”语言和“Windows机器”。鉴于此,我认为HTA application符合资格。您可以使用JavaScript作为编程语言,您可以执行独立网页可以执行的任何操作;

需要某种版本的Internet Explorer(至少是IE4?)

答案 4 :(得分:0)

您需要一个可以构建没有运行时框架的Win32应用程序的开发环境 - 或者嵌入在exe中的框架。因此,托管语言已经出局。

大多数本机Win32应用程序是使用Microsoft工具集或基于gcc的产品(如Code :: Blocks或Eclipse)在C / C ++中制作的。

答案 5 :(得分:-1)

我没有这个工具的经验,所以不知道它有多好或多坏,但它正是你要找的。

http://www.xenocode.com/products/postbuild-for-net/