我是否应该担心在应用程序中重新分发.NET运行时?

我是否应该担心在应用程序中重新分发.NET运行时?,.net,installation,redistributable,.net,Installation,Redistributable,如果可能的话,我希望避免在我的应用程序中重新分发.NET运行时,因为它会增加应用程序的大小、下载时间和开发时间,并且可能会引入许多不同的部署错误。Microsoft是否强制用户通过Windows update更新.NET运行时?如果没有,重新分发.NET运行时的一些选项是什么?Microsoft是否使使用.NET应用程序重新分配运行时变得更容易?另外,.NET运行时是否需要向后兼容 我只是在这里总结一下答案。看起来我们至少需要一个引导程序来检查.NET运行时是否存在。另一种选择是打包运行时,如果

如果可能的话,我希望避免在我的应用程序中重新分发.NET运行时,因为它会增加应用程序的大小、下载时间和开发时间,并且可能会引入许多不同的部署错误。Microsoft是否强制用户通过Windows update更新.NET运行时?如果没有,重新分发.NET运行时的一些选项是什么?Microsoft是否使使用.NET应用程序重新分配运行时变得更容易?另外,.NET运行时是否需要向后兼容


我只是在这里总结一下答案。看起来我们至少需要一个引导程序来检查.NET运行时是否存在。另一种选择是打包运行时,如果它不存在,则部署它。打包有多个选项&visualstudio确实提供了一个使用运行时构建安装程序项目的选项。还有其他打包选项,如InnoSetup、WIX等(不确定哪个选项更好、更免费)。运行时安装需要重新启动,所选安装选项应在重新启动后恢复应用程序安装。

创建安装程序包时,它将仅在需要时安装运行时。i、 e.系统上尚未安装(或版本错误)


编辑:是的,你应该创建这个软件包,它让你的生活更轻松。在VS中执行此操作的方法是文件->项目,然后选择intstaller项目。向导将引导您完成这些选项。

当您创建安装程序包时,它将仅在需要时安装运行时。i、 e.系统上尚未安装(或版本错误)


编辑:是的,你应该创建这个软件包,它让你的生活更轻松。在VS中执行此操作的方法是文件->项目,然后选择intstaller项目。向导将引导您完成这些选项。

只需创建一个Windows Installer项目。您应该在VS2005和VS2008中将此选项作为一个选项。它将确保在安装应用程序时,系统具有.NET运行时和任何其他所需的软件。这会将其添加到安装程序包中,而不是应用程序中。这通常是安装应用程序或使用install Shield的方式


只需创建一个Windows Installer项目。您应该在VS2005和VS2008中将此选项作为一个选项。它将确保在安装应用程序时,系统具有.NET运行时和任何其他所需的软件。这会将其添加到安装程序包中,而不是应用程序中。这通常是安装应用程序或使用install Shield的方式

另外,你应该担心这一点。没有运行时,您的应用程序将神秘地无法工作。您永远不应该假设运行时的某个特定版本是预先安装的

如上所述,VS中的安装程序项目向导将创建一个安装文件,仅在需要时下载该文件。NSIS和Inno安装程序都有可以执行相同操作的脚本。请注意,在安装运行时时,您需要重新启动并继续安装。我相信安装向导会为您解决这一问题。

此外,您应该担心这一点。没有运行时,您的应用程序将神秘地无法工作。您永远不应该假设运行时的某个特定版本是预先安装的


如上所述,VS中的安装程序项目向导将创建一个安装文件,仅在需要时下载该文件。NSIS和Inno安装程序都有可以执行相同操作的脚本。请注意,在安装运行时时,您需要重新启动并继续安装。我相信安装向导会为您处理此问题。

视情况而定。在我工作的地方,我们将其作为先决条件包含在安装程序中,因为有些客户可能没有internet连接来下载运行时

您可以做以下几件事:

  • 在目标计算机上包括对.NET版本的测试,如果没有,则退出安装
  • 制作包含.NET运行时的安装版本,并在需要时进行安装
  • 制作将下载.NET运行时的安装版本,并在需要时进行安装

  • 如果我知道我的客户都在线,我会为.NET做选项3,以及任何其他先决条件,如Crystal Reports或SQL Express。我有安装,我已经包括和安装超过100MB。70MB+是先决条件。

    视情况而定。在我工作的地方,我们将其作为先决条件包含在安装程序中,因为有些客户可能没有internet连接来下载运行时

    您可以做以下几件事:

  • 在目标计算机上包括对.NET版本的测试,如果没有,则退出安装
  • 制作包含.NET运行时的安装版本,并在需要时进行安装
  • 制作将下载.NET运行时的安装版本,并在需要时进行安装

  • 如果我知道我的客户都在线,我会为.NET做选项3,以及任何其他先决条件,如Crystal Reports或SQL Express。我有安装,我已经包括和安装超过100MB。70MB+是先决条件。

    使用某种引导程序,您可以检查是否安装了.NET,然后在必要时下载它

    例如,对于bootstrapper(我不提倡MSI Factory,它是一个丑陋的程序。但是如果您像我们一样开发商业软件,那么它附带的bootstrapper本身就值得许可成本)有一些脚本可以简单地包含以执行此功能。我们使用WiX+MSI工厂引导程序分发单个压缩的EXE(30Mb)和下载MSI的小型1Mb“downloader”EXE。两个EXE都会检查是否存在.NET 2.0,然后在必要时下载它。我们还发布了一个独立的MSI,它也