我想轻松部署Windows应用程序,并且想知道哪些编程系统可以创建完全自包含的Windows .exe文件?
作为一个优点,如果可以使用同一来源的MacOSX和Linux完成相同的操作,这将是一个奖励。我看了一下Realbasic,但他们放弃了单个.exe概念。
更新:我正在寻找可以从Windows XP到Windows 7运行的东西,无论安装什么版本的.NET。这甚至可能吗?
答案 0 :(得分:8)
Delphi编译为一个可执行文件,并生成本机Windows可执行文件。所以没有依赖任何类型的框架。如果您使用Free Pascal (fpc)和Lazarus IDE,您甚至可以从同一来源为Linux和Apple开发。
如果您使用外部dll这会变得有点棘手,但您可以将它们打包在资源文件中并仍然维护一个exe属性。
答案 1 :(得分:6)
你当然可以用C / C ++做到这一点。从技术上讲,运行时库是必需的,但它们应该已经安装在任何windows,mac或linux系统上。
使用.NET,您可以编译为EXE,但当然需要.NET框架。对于较新版本的Windows,它应该默认安装,但在旧版本(XP或更旧版本?)上可能会或可能不会。当然,你不能指望单声道在linux或mac上默认存在。
答案 2 :(得分:4)
对于Windows,以下语言是可行的:
答案 3 :(得分:3)
您可以使用Tcl / tk。您应该研究的技术是“starpack”,它将运行时可执行文件(starkit)与特定于平台的运行时(“tclkit”)相结合,以创建单文件可执行文件。值得注意的是,它不仅仅是编译代码,而是一个完整的独立虚拟文件系统,可以包含图像,声音,数据等。
这种技术适用于来自相同代码库的许多平台。唯一不同的是特定于平台的运行时。您甚至可以“交叉编译”,因为您可以将多个平台的运行时复制到开发框中,然后为每个平台构建星形包,而无需实际位于每个平台上。
答案 4 :(得分:3)
Tcl可以做到这一点,特别是通过制作starpacks。可以使用相同的代码为所有平台生成它们。请注意,这还包括所有必需的运行时库(除了C库之类的东西,但你不想在正常情况下使 静态)。
答案 5 :(得分:3)
JavaFX 2.2支持这一点。它允许创建面向Windows,Mac OS和Linux的自包含应用程序。
请点击此链接获取更多信息:http://docs.oracle.com/javafx/2/deployment/self-contained-packaging.htm。
答案 6 :(得分:2)
我建议看看AutoIt。它是一种易于使用的脚本语言,可以编译成exe,因此不需要运行时。这只适用于Windows。
http://www.autoitscript.com/autoit3/index.shtml
来自网站:
AutoIt v3是一款类似BASIC的免费软件 脚本语言专为 自动化Windows GUI和一般 脚本。 ... AutoIt也很小, 自给自足,将在所有人身上运行 开箱即用的Windows版本 没有烦人的“运行时”!
答案 7 :(得分:2)
C / C ++ 的PureBasic 德尔福 VB6
我希望这有帮助:)
答案 8 :(得分:2)
这是构建小型独立EXE的许多基本类编程语言的良好来源。有些是Windows和Linux的跨平台:
答案 9 :(得分:2)
您可以使用简单且便宜的Liberty Basic,您可以轻松地为Windows制作独立程序,但无法传输到MacOS或Linux。
答案 10 :(得分:1)
您可以使用ILMerge
为使用.NET语言的Windows执行此操作ILMerge是一个用于将多个.NET程序集合并到单个.NET程序集中的实用程序。它适用于可执行文件和DLL,并带有几个选项来控制输出的处理和格式。有关详细信息,请参阅随附的文档。
然而:
目前,ILMerge仅适用于基于Windows的平台。它还不支持Rotor或Mono。
答案 11 :(得分:0)
QBasic可以: - )
我用它编写了一些命令行工具!