安装ASP.NET本地Web应用程序

时间:2014-09-23 11:42:28

标签: asp.net iis installation windows-installer

我需要为在ASP.NET中开发的本地Web应用程序执行安装程序。 如何使用MSI安装程序在IIS上自动部署应用程序?

2 个答案:

答案 0 :(得分:1)

WiX工具集(http://wixtoolset.org/)非常支持IIS网站安装程序。这是一个随机选择的任意教程,可以帮助您入门; http://blog.bartdemeyer.be/2013/10/create-an-installer-for-website-with-wix-part-1/

答案 1 :(得分:1)

FWIW,IsWiX项目模板(VS2012 +)在这个故事中表现出色。这是一个粗略的概述:

安装Windows Installer XML和工业强度Windows Installer XML

使用VS项目模板创建ASP.NET Web应用程序解决方案

名称:BookStore

位置:C:\ Source \ BookStore

解决方案名称:应用程序

选中创建解决方案的目录

选择单页应用程序,然后单击确定

右键单击解决方案资源管理器中的BookStore项目,然后选择发布

单击“自定义”并输入名称LocalDeploy,然后单击“确定”

选择FileSystem发布方法

输入.... \ Installer \ Deploy,然后点击发布

关闭解决方案

使用VS项目模板创建Windows Installer XML \ IsWiX解决方案(.MSI / .MSM)解决方案

名称:BookStore

位置:C:\ Source \ BookStore

解决方案名称:安装程序

选中创建解决方案的目录

双击解决方案资源管理器中的BookStoreMM.wxs。

选择工具| IsWiX AddIn

单击“文件和文件夹”

将要部署的文件和文件夹从源视图拖放到目标视图

单击“保存并关闭IsWiX”

在Visual Studio提示时单击“是”以重新加载源。看看IsWiX编写的XML。

右键单击BookStoreMM项目中的引用并添加对WixIIsExtension.dll的引用

双击BookStoreMM项目中的BookStoreMMcustom.wxs。

选择工具| IsWiX AddIn

单击命名空间

选择iis名称空间

单击“保存并关闭IsWiX”

在Visual Studio提示时单击“是”以重新加载源。看看IsWiX编写的XML。

在DirectoryRef元素下创建一个网站组件,并将ComponentRef元素添加到ComponentGroup元素。确切的元素和属性取决于应用程序的特定IIS需求。这是一般样本。

<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension">
  <Fragment>

    <!-- Reference Custom Components Below -->
    <ComponentGroup Id="Custom">
      <ComponentRef Id="webHomePage"/>
    </ComponentGroup>

    <!-- Author Custom Components Below -->
    <DirectoryRef Id="MergeRedirectFolder">
      <Component Id="webHomePage" Guid="someguid" KeyPath="yes">
        <iis:WebSite Id="default" SiteId="*" Description="HomePage" Directory="MergeRedirectFolder" ConfigureIfExists="no">
          <iis:WebAddress Id="AllUnassigned" Port="80" />
          <iis:WebDirProperties Id="webDirPropsApi" AnonymousAccess="yes" WindowsAuthentication="no"/>
        </iis:WebSite>
      </Component>
    </DirectoryRef>

  </Fragment>
</Wix>