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; } }