【发布时间】:2008-09-22 04:54:12
【问题描述】:
我有一个奇怪的要求,即在不捆绑 .Net 框架的情况下发布应用程序(以节省内存占用和带宽)。
这可能吗?客户可能会也可能不会在他们的系统上安装 .Net 运行时。
做 Ngen 会解决这个问题吗?我一直在寻找类似发布 C++ 应用程序的旧方法(使用链接器仅链接您需要的二进制文件)。
【问题讨论】:
我有一个奇怪的要求,即在不捆绑 .Net 框架的情况下发布应用程序(以节省内存占用和带宽)。
这可能吗?客户可能会也可能不会在他们的系统上安装 .Net 运行时。
做 Ngen 会解决这个问题吗?我一直在寻找类似发布 C++ 应用程序的旧方法(使用链接器仅链接您需要的二进制文件)。
【问题讨论】:
不使用 Ngen 的一个选项可能是使用 .Net Framework 3.5 SP1“客户端配置文件”发布。这是 .Net Framework 的子集,用于构建客户端应用程序,可以作为单独的小得多的包下载。
查看BCL Team Blog here 和Scott Guthrie here 的详细信息。
【讨论】:
在这种情况下的常见解决方案事实上的标准是您的客户应该拥有正确版本的 .Net 框架,只要它是 Windows 更新的一部分。因此,您的安装程序应检查您在客户端计算机上使用的 .NET 版本的可用性,并建议从 Microsoft 下载它。这将阻止您的公司通过您的渠道传输它并确保您的应用程序具有正确的基础架构,
【讨论】:
你检查过蝾螈吗?remotesoft
【讨论】:
仅供参考,
这个话题已经讨论过了。不幸的是,我目前找不到链接(应该改进搜索)。
好的,我发现了类似的问题:
我记得有完全相同的问题,但我找不到它:(
【讨论】:
如果您的软件需要 .NET,那么您的最终用户将需要相同版本的 .NET。您不能像使用 MFC 或 Delphi 那样将 .NET“链接”到可执行文件中以创建单个 .exe。如果您的安装程序没有安装 .NET 运行时,那么您需要确保用户知道这一点并将他们指向 Microsoft 的 .NET 下载。
【讨论】:
您可以使用“客户端配置文件”,它是用于桌面应用程序的 .NET Framework 的子集。客户端配置文件大小约为 20 MB
【讨论】:
您还可以包含在 VS 中创建的引导程序“setup.exe”。它会检测你是否有必要的 .net 版本,如果有,启动安装程序;如果没有,它会提示您下载框架。
【讨论】: