【问题标题】:Silent installation of .NET framework 4.5.NET framework 4.5 静默安装
【发布时间】:2017-07-28 20:43:19
【问题描述】:

我需要执行 .NET Framework 4.5 的静默安装以及作为服务运行的 ASP.NET Core api,因为要使此 api 工作,您需要安装此版本的框架。有人有想法吗?

谢谢

【问题讨论】:

标签: c# .net asp.net-core windows-services


【解决方案1】:

如果您希望服务器/用户在他们的计算机上安装框架,您必须将 .net 4.5 框架安装作为 .msi 包提供。否则,他们需要预先安装它才能让您的 .net 核心 api 正常工作。

不幸的是,.net 4.5 不允许您像 .Net Core 那样执行“自包含”部署包。

如果您能够将功能转换为纯 .net 核心,那么您绝对可以部署一个自包含的包来运行 APi,而用户显然不需要知道如何为您的应用程序安装合适的框架来运行在某些情况下,这很可能是不可能的。

编辑:您可以手动执行或创建快速控制台应用程序来执行 powershell 脚本来安装 .net 4.5 框架。

这可能会奏效或让您走上正确的道路。除了使用本地路径之外,您还可以传入 http 链接或网络上其他地方的共享驱动器。我有时只使用 powershell 脚本,所以这可能需要更多的研究来满足您的公司架构。

PS C:\Users\VPS1146858Admin\Downloads> Start-Process -FilePath "C:\Users\VPS1146858Admin\Downloads\dotNetFx45_Full_setup.exe" -ArgumentList "/q /norestart" -Wait

【讨论】:

  • 这是我的问题,这个api应该如何工作,它必须是一个带有.net 4.5模板的核心应用程序,才能作为服务运行,这样它是自托管的,但是它需要.net,就像安装将通过命令完成,不能进行人工交互,直到出现一些窗口,但不要求点击
  • 运行服务并在这个“sc start Api.Servico”之后执行这个命令“sc create Api.Servico binPath= C:\GestorServico\Api.Servico.exe start= auto”我发现了这个文档中的示例:“dotNetFx45_Full_x86_x64.exe /norestart /passive /showrmui /ChainingPackage Contoso” 但它不适合我的需要
  • 如果您需要在没有用户交互的情况下完成此操作,最好的办法是从单独的 C# 程序或手动执行 powershell 脚本。然后在您的 powershell 脚本中,您传递所有将被询问的命令。我编辑了答案以包含该命令
  • 感谢帮助,我去测试
猜你喜欢
  • 2022-12-28
  • 2013-01-12
  • 2013-04-01
  • 2013-02-26
  • 1970-01-01
  • 2012-12-06
  • 2012-01-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多