我正在寻求建议:理想情况下,我想给管理员(网络服务器)一个文件(.exe,。msi,.bat,无论你建议什么),这样当他们执行包时,它会在IIS上设置我的应用程序(包含.aspx,.xap silverlight,Web服务.svc等)。这将包括但不限于IIS管理器中的此类内容,如创建虚拟目录,路径,默认文档,安全性以及通过inetmgr和属性找到的所有IIS设置。我也想运行一个.bat文件(不确定这是否正确),但要检查某些设置并ping其他服务器的状态。
许多年前,我曾经自动化一切并使用像.bat文件这样的概念 - 完成了工作,我能做的很棒。快进几年了,我又要接近自动化过程了。我想知道那里有什么新东西。
非常感谢任何和所有建议!
答案 0 :(得分:2)
这是一个相当多的学习曲线,但是,WiX / InstallShield / MSI可以做到这一点。我已经完成了n-Tier / SOA系统的安装程序,包括单租户SaaS,您可以运行应用程序层安装程序数十次,创建在不同主机头上运行的新实例或指向不同数据层和不同配置设置的端口。然后,您可以对指向您想要的应用层的WebUI执行相同的操作。
基本上它是否正在安装.NET,设置vDir / AppPools / WebSites / Extensions,读取和编写XML配置文件,执行SQL脚本,创建服务等等都可以完成......如果你花时间去全部学习。部署工程是一个更大的领域,然后它首先出现。
至于.BAT,这是不好的形式。首先,您需要在编写自定义操作之前利用本机功能。然后,当您必须编写一个时,您将其设计为声明性和事务性(安装,卸载,回滚,提交)。 WiX有一个非常好的框架,名为DTF,它允许你从MSI的角度封装C#类,就像它们是C ++一样,并提供了一个很好的互操作库,可以在安装过程中与MSI通信。
答案 1 :(得分:1)
Visual Studio有一个可用于此的Web安装程序包项目。