这可能是一个愚蠢的问题,但我尝试谷歌这一切都失败了。问题是:如何开发不需要预先安装可再发行的Windows应用程序?我想创建在旧版Windows下运行的应用程序,这些应用程序没有.NET Framework或类似的东西。
谢谢你,eWolf
答案 0 :(得分:7)
首先,用母语编写,例如C ++,没有CLR。
其次,禁用清单并避免链接外部DLL(例如STDC或MFC)。
答案 1 :(得分:4)
Windows的旧版本是什么意思?
自Windows 2003和.net 1.1以来,.net Framework是Windows的一部分
因此,如果您的目标是比Windows 2003更新的Windows版本,则可以确定.net可用。
还有{.3}} .net产品的解决方案,因此您无需发送任何可再发行组件等。
<强>更新强>
我刚刚发现automate linking/packaging允许您将整个运行时链接到您的可执行文件中
他们将该功能称为 Bundle
详细了解Mono。
答案 2 :(得分:3)
使用Delphi - 尽管较新版本的IDE存在一些奇怪的错误,但很容易创建不需要可再发行的本机Windows应用程序。比C ++ / win32更容易使用。
答案 3 :(得分:2)
编辑:正如eWolf指出他不需要.NET,尽管最初的问题被标记为.NET。
<击> 简而言之,某些较旧的机器(如Win95 / 98/2000)可能没有安装运行时。既然你指定了.NET,我假设你想用.NET构建一个应用程序,那里有一个很大但是,你需要预先安装.NET运行时才能执行.NET应用程序。你可以通过两种方法轻松解决这个问题:
如果您正在谈论C / C ++等本机应用程序,那么最好的路径(避免依赖并最小化所需的DLL数量)是在原始WinAPI32中开发它,只使用很多标准的DLL Windows机器将有,COMMCTRL.DLL,USER32.DLL,ADVAPI.DLL等名称。最终结果将是一个较小的可执行文件。当然,你可以通过静态链接DLL来捆绑其他DLL,形成一个巨大的庞大可执行文件。
答案 4 :(得分:1)