二十四画生的Blog


        ——开始学习Orchard框架
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DNN安装模板(DotNetNuke.install)

Posted on 2005-06-07 20:43  二十四画生  阅读(2840)  评论(0编辑  收藏  举报

  DNN中有一个非常酷的功能,就是能够在IE环境下自动初始化安装数据库。看过程序之后终于明白它是如何进行了。
1、在Application_Start事件中有CheckVersion方法用来检测数据库版本和应用程序版本是否一致,如果不一致根据设置决定是否自动安装。
2、如果数据中Version表中的版本号和应用程序的版本不一致,且web.config中设置允许自动升级(AutoUpgrade节点有设置),则应用程序向导到安装页面/Install/Install.aspx。
3、在安装页面中先调用GetUpgradeStatus方法再次决定安装类型(安装,升级或不操作)
4、如果是安装,则调用InstallApplication方法执行安装。

在整个安装过程中安装模板(Install\DotNetNuke.install.resources)起到了非常关键的作用。安装模板是一个XML文件,它里面包含了数据库安装脚本的执行顺序,初始化数据的内容。在DNN提供的文档中也有关于安装模板的介绍(\Documentation\Public文件夹中的DotNetNuke Host Template.doc和DotNetNuke Installation Guide.doc)。
以下是我看过程序后对安装模板各节点的解释(文档中介绍的和实际的略有不同,还是重新写一下希望能对大家有用):

<dotnetnuke>节点:(在提供文档中叫host节点)是整个模板文件的根节点,在<dotnetnuke>节点中共有7个直接的子节点(在提供文档中说有8个,实际上将<schemascript>和<datascript>节点合并到<scripts>节点中了)。
  <description>子节点:提供关于安装模板的描述。
  <scripts>子节点:要运行的安装脚本(如果使用SQL Server数据库,安装脚本在Providers\DataProviders\SqlDataProvider文件夹下,如果不是SQL Server数据库安装脚本应放在相应的Provider文件夹下)
    <script name="Setup">DotNetNuke.SetUp</script>
    <script name="Schema">DotNetNuke.Schema</script>
    <script name="Data">DotNetNuke.Data</script>
  <version>子节点:安装程序的版本信息
  <superuser>子节点:用于初始化超级用户的信息,也就是host用户。
  <settings>子节点:用于初始化主机信息设置表中的内容。
  <desktopmodules>子节点:包含要安装的控件信息
  <portal>子节点:用于初始化站点信息

更多相关内容>>