Example #1
0
 private static void installHtmlEdiotr(Form caller)
 {
     try
     {
         string srcDir = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "DistributeIIS");
         if (Directory.Exists(srcDir))
         {
             string newFile = Path.Combine(srcDir, "new.txt");
             if (File.Exists(newFile))
             {
                 bool   bErr;
                 string localhostDir = IisUtility.FindLocalRootWebPath(caller, out bErr);
                 if (string.IsNullOrEmpty(localhostDir))
                 {
                     MessageBox.Show(caller, "Cannot get physical path for web root.", "Checking web root", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
                 else if (!Directory.Exists(localhostDir))
                 {
                     MessageBox.Show(caller, string.Format(CultureInfo.InvariantCulture, "Folder {0} does not exist", srcDir), "Initialize Visual Programming", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
                 else
                 {
                     if (MessageBox.Show(caller, string.Format(CultureInfo.InvariantCulture, "Visual Web Page Editor requires that full control permission is granted to Everyone for folder {0}. \r\n\r\nDo you want to allow it?", localhostDir), "Visual Web Page Editor", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                     {
                         string        e;
                         StringBuilder sbErr = new StringBuilder();
                         e = VPLUtil.GrantFileFullPermission(localhostDir);
                         if (!string.IsNullOrEmpty(e))
                         {
                             sbErr.Append(string.Format(CultureInfo.InvariantCulture, "Error granting permissions for [{0}]. {1}\r\n", localhostDir, e));
                         }
                         else
                         {
                             string   tgt;
                             string[] ss = Directory.GetFiles(srcDir);
                             for (int i = 0; i < ss.Length; i++)
                             {
                                 string sn = Path.GetFileName(ss[i]);
                                 if (string.Compare(sn, "new.txt", StringComparison.OrdinalIgnoreCase) != 0)
                                 {
                                     tgt = Path.Combine(localhostDir, sn);
                                     File.Copy(ss[i], tgt, true);
                                     e = VPLUtil.GrantFileFullPermission(tgt);
                                     if (!string.IsNullOrEmpty(e))
                                     {
                                         sbErr.Append(string.Format(CultureInfo.InvariantCulture, "Error granting permissions for [{0}]. {1}\r\n", tgt, e));
                                     }
                                 }
                             }
                             ss = Directory.GetDirectories(srcDir);
                             for (int i = 0; i < ss.Length; i++)
                             {
                                 tgt = Path.Combine(localhostDir, Path.GetFileName(ss[i]));
                                 copyFolder(ss[i], tgt, sbErr);
                             }
                         }
                         if (sbErr.Length > 0)
                         {
                             MessageBox.Show(caller, string.Format(CultureInfo.InvariantCulture, "Error setting up Visual Web Editor.\r\n {0}", sbErr.ToString()), "Initialize Visual Programming", MessageBoxButtons.OK, MessageBoxIcon.Error);
                         }
                         else
                         {
                             File.Delete(newFile);
                             DesignUtil.EnableHtmlEditor();
                         }
                     }
                 }
             }
             else
             {
                 DesignUtil.EnableHtmlEditor();
             }
         }
         else
         {
             MessageBox.Show(caller, string.Format(CultureInfo.InvariantCulture, "Folder {0} does not exist", srcDir), "Initialize Visual Programming", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     catch (Exception err)
     {
         MessageBox.Show(caller, err.Message, "Initialize Visual Programming", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }