示例#1
0
        private void CopyFilesButton_Click(object sender, EventArgs e)
        {
            //configuration文件夹改名 兼容2.7以前版本方法
            string oldConfigPath = Path.Combine(Server.MapPath("~/"), "configuration");

            if (Directory.Exists(oldConfigPath))
            {
                string destDirName = Path.Combine(Server.MapPath("~/"), "config");
                if (Directory.Exists(destDirName))
                {
                    Directory.Delete(destDirName, true);
                }
                Directory.Move(oldConfigPath, Path.Combine(Server.MapPath("~/"), "config"));
            }

            if (BackUpPanel.Visible)
            {
                if (BackUpCheckBox.Checked)
                {
                    Installer.BackupOldFiles(Server.MapPath("~/"), Server.MapPath("~/_backup/update/"));
                }

                //检查是否有冗余文件
                if (ClearOldCheckBox.Visible && ClearOldCheckBox.Checked)
                {
                    //此处应该返回错误信息,目前存储在LOG文件中
                    DeleteFiles();
                }
            }

            string ext = Path.GetExtension(UploadFile);

            switch (ext.ToLower())
            {
            case ".zip":
                try
                {
                    //DirectoryInfo directoryInfo = new DirectoryInfo(Server.MapPath("~/bin"));
                    //Helper.DeleteFileTree(directoryInfo, false);
                    We7Helper.CopyDirectory(UnZipPath, Server.MapPath("~/"));

                    Directory.Delete(UnZipPath, true);
                    //

                    /*
                     *
                     * 保存新版本号
                     * GeneralConfigInfo si = GeneralConfigs.GetConfig();
                     * if (si != null)
                     * {
                     *  //si.ProductVersion = NewVersion;
                     *  GeneralConfigs.SaveConfig(si);
                     * }
                     */
                    RegisterScript("alert('操作成功!');location.href='upgrade-db.aspx?from=upgrade.aspx'");
                }
                catch (IOException ex)
                {
                    RegisterScript("alert('文件复制失败。原因:" + ex.Message + "');");
                }
                break;

            case ".dll":
                try
                {
                    string targetfile = Path.Combine(Server.MapPath("~/bin/"), Path.GetFileName(UploadFile));
                    File.Copy(UploadFile, targetfile, true);
                    RegisterScript("alert('文件更新成功!');");
                }
                catch (IOException ex)
                {
                    RegisterScript("alert('文件复制失败。原因:" + ex.Message + "');");
                }
                break;

            case ".xml":
                try
                {
                    //读取默认db.config文件内容
                    BaseConfigInfo bci = BaseConfigs.GetBaseConfig();
                    if (bci != null && bci.DBType != "" && bci.DBConnectionString != "")
                    {
                        Installer.ExcuteSQL(bci, UploadFile);
                    }
                    RegisterScript("alert('XML文件执行成功!');");
                }
                catch (IOException ex)
                {
                    RegisterScript("alert(''XML文件执行出现错误。原因:" + ex.Message + "');");
                }
                break;
            }
        }