【发布时间】:2013-03-04 16:15:18
【问题描述】:
我们有许多安装和配置 IIS 应用程序的 Installshield 项目。我们已经发布了不同应用程序的多个版本(3 个应用程序的 7 个以上版本),现在想升级以使用 .net 4.0 而不是 2.0 和 3.5。
修改“Internet 信息服务”设置后,将网站/应用程序上的 ASP.NET 版本更改为 4.0.30319,将应用程序池下的 .Net Framework 版本更改为 v4.0,安装程序正确创建应用程序在 IIS 6 及更低版本中使用 4.0 版本,在 IIS 7 及更高版本中它正确地将池设置为使用 v4.0,但升级不适用于任何目标。
升级安装正常,但虚拟目录或应用程序池的 .Net 版本保持不变。手动更改当然可以,但这会导致更多的支持问题。
我尝试将升级更改为重大升级,但没有成功,我目前正在执行自定义操作以在安装后更改 .Net 版本,但我对 Installshield 的此功能没有太多经验。
有人遇到过这个问题吗?有没有首选的方法来实现这一目标? (自定义操作或 .Net 安装程序类,WIX 不是一个选项)
谢谢
【问题讨论】:
-
您查看过安装程序日志吗?这些组件是否正在重新安装?
-
不,他们不是。我得到:找到属性“名称”值为:MyApplicationPool InstallShield 20:44:57 的元素:AppPool 已经存在。 InstallShield 20:44:57:应用程序池已经存在。
-
这就是我卡住的地方。我们如何让安装程序更改现有池上的值?
-
MichaelU 或许能够更详细地了解 IS 的 IIS 行为。对我来说,我必须把它扔到实验室里试一试。
标签: installation installshield custom-action