简体   繁体   English

分发 ASP.NET 应用程序

[英]Distributing ASP.NET applications

We recently released an ASP.NET (.NET 2.0) application.我们最近发布了 ASP.NET (.NET 2.0) 应用程序。 The application files are pre-compiled and the installer is generated in Visual Studio.应用程序文件是预编译的,安装程序是在 Visual Studio 中生成的。 It's pre-compiled as it's written in Delphi Prism, not C#.它是预编译的,因为它是用 Delphi Prism 编写的,而不是 C#。

Everything worked well while testing, but once in the wild, we started to see several issues eg测试时一切正常,但是一旦进入野外,我们就开始看到几个问题,例如

  • The installer sometimes refuses to install saying that the application is already installed, even though the "Remove previous versions" option is set in the install builder.安装程序有时会拒绝安装,说应用程序已经安装,即使在安装构建器中设置了“删除以前的版本”选项。
  • The installer seems very sensitive to the setup of IIS.安装程序似乎对 IIS 的设置非常敏感。 eg if II6 compatibility is not installed for II7, the installer exits with no error message.例如,如果没有为 II7 安装 II6 兼容性,安装程序将退出且不显示错误消息。
  • When trying to connect to the app, some users get "Failed to access IIS metabase" (still not figured out what this is).尝试连接到应用程序时,一些用户收到“无法访问 IIS 元数据库”(仍然不知道这是什么)。
  • There doesn't seem to be a way to create an app pool in the installer.似乎没有办法在安装程序中创建应用程序池。 Therefore, the .NET 2.0 application can end up with an app pool using .NET 3.5/4.0.因此,.NET 2.0 应用程序最终可以使用 .NET 3.5/4.0 的应用程序池。

These are just some of the issues we've encountered.这些只是我们遇到的一些问题。

Is there a better method of distributing ASP.NET applications that doesn't require advance knowledge of the end user's system?是否有更好的方法来分发不需要最终用户系统的高级知识的 ASP.NET 应用程序? Could we be doing something stupid?我们可以做一些愚蠢的事情吗? If these are common problems, are there any fool proof installs that install nicely and, if problems occur, provide users with informative error messages.如果这些是常见问题,是否有任何安装良好的万无一失的安装,如果出现问题,为用户提供信息丰富的错误消息。

As there have been no answers in a year and a half I guess there's no better answer than the one we came up with.由于一年半以来一直没有答案,我想没有比我们想出的更好的答案了。

We used InnoSetup to run the ASP.NET installer.我们使用 InnoSetup 运行 ASP.NET 安装程序。 However, it first checks if the ASP.NET is installed and, if it is, it uninstalls it.但是,它首先检查是否安装了 ASP.NET,如果是,则将其卸载。 This at least gets around the first issue I mentioned in the question.这至少解决了我在问题中提到的第一个问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM