private static void InstallSubDirectory(ADMobileVirtualDirectory dataObject, string subDirectoryName, Task task) { bool flag = false; using (DirectoryEntry directoryEntry = IisUtility.CreateIISDirectoryEntry(dataObject.MetabasePath, new Task.TaskErrorLoggingReThrowDelegate(task.WriteError), dataObject.Identity)) { string path = Path.Combine(directoryEntry.Properties["Path"].Value.ToString(), subDirectoryName); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } string text = string.Format("{0}/{1}", dataObject.MetabasePath, subDirectoryName); if (!IisUtility.Exists(text)) { IisUtility.CreateWebDirectory(directoryEntry, subDirectoryName); MobileSyncVirtualDirectoryHelper.UpdateSubDirectory(dataObject, text, task); directoryEntry.CommitChanges(); IisUtility.CommitMetabaseChanges((dataObject.Server == null) ? null : dataObject.Server.Name); flag = true; } ExTraceGlobals.TaskTracer.Information(0L, string.Format("Installed SubDirectory '{0}' with result '{1}'", subDirectoryName, flag)); } }