asp.net - 将 - asp.net mvc 5 Web 应用程序 (Visual studio 2017) 转换为 .exe 安装文件

标签 asp.net asp.net-mvc model-view-controller web-applications setup-deployment

我想知道是否有可能将 asp.net mvc 5 Web 应用程序转换为 .exe 安装文件。我尝试了各种链接。但我没有得到任何输出。我收到一个 .msi 文件,当我尝试安装时,安装在开始时停止,显示一条消息 =“安装已停止。请重试”。或者如果我尝试安装安装文件,我会收到一条消息 =“无效..请检查包是否存在...bla bla bla”

下面列出了我尝试过的一些链接。

https://www.c-sharpcorner.com/article/step-by-step-guide-to-create-a-setup-for-a-web-application/

https://weblogs.asp.net/scottgu/tip-trick-creating-packaged-asp-net-setup-programs-with-vs-2005

https://www.c-sharpcorner.com/article/creating-setup-and-deployment-projects-in-vs-net/

https://www.codeproject.com/Questions/297343/How-to-create-exe-or-msi-file-setup-file-of-web-ap

还有更多...

最佳答案

您首先需要做一些准备:

  1. 设置 IIS 6 管理兼容性(以防止出现“安装已停止”错误)
  2. 安装 Microsoft Visual Studio 安装程序项目扩展。 (将安装项目模板添加到VS)

然后您可以创建、配置和设置项目并运行设置。

详细信息

1 - 设置 IIS 6 管理兼容性

打开打开或关闭 Windows 功能Internet 信息服务Web 管理工具并至少检查以下项目:

  • IIS 6 WMI 兼容性
  • IIS 6 元数据库和 IIS 6 配置兼容性。

这是为了修复以下错误:

The installer was interrupted before application could be installed. You need to restart the installer to try again

2 - 安装Microsoft Visual Studio Installer Projects .

这是将安装项目模板添加到 Visual Studio。在这里,我们对Web 设置项目感兴趣。

3 - 创建并配置安装项目

  1. 创建安装项目
  2. 右键单击“设置项目”→“添加”→“项目输出”并选择您需要的内容。您至少需要网络项目的主要输出内容文件

然后您可以构建项目并运行setup.exe

注意

  • 您可以设置其他属性,例如 ASPNETVersion、Manufacturere、产品名称...
  • 如果部署后您遇到错误,提示 \roslyn\csc.exe,您可能需要包含 roslyn 文件或完全删除 roslyn 编译。欲了解更多信息,请查看this post .
  • 您可以添加CustomAction在安装/卸载期间执行一些自定义操作。你可以找到很多例子,比如 this post .
  • 您甚至可以自定义 UI 并添加一些输入并在安装过程中使用它们。你可以找到很多例子,比如 this post .
  • 一般来说,如果您的部署是具有一些文件和数据库的常见站点部署,则更好的选择是创建Web 部署包,然后将该包安装到 IIS。您可以轻松地自动化该过程。

关于asp.net - 将 - asp.net mvc 5 Web 应用程序 (Visual studio 2017) 转换为 .exe 安装文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56789355/

相关文章:

asp.net - ScriptManager 必须出现在任何需要它的控件之前

c# - 如何使输入字段可选?

asp.net-mvc - 这个 TestMethod 有什么问题?

c# - 在 MVP Winforms App 中共享模型

asp.net-mvc - MVC 数据访问

c# - 根据下拉框选择隐藏/显示表单

c# - LINQ to Entities 无法识别方法 'System.Object get_Item(System.String)' 方法

c# - RenderPartial,模型作为参数

javascript - 根据下拉列表项选择更改 mvc 中的 View

ios - UITableView 决定单个行高