예제 #1
0
 /// <summary>
 /// Clean up after an uninstall.
 /// </summary>
 /// <param name="spec">Specification for an IIS Virtual Directory.</param>
 /// <param name="appPoolName">The application pool name.</param>
 private void CleanUp(VirtualDirectorySpecification spec, string appPoolName)
 {
     this.RemoveFolderPermission(spec.PhysicalPath, appPoolName);
 }
예제 #2
0
        /// <summary>
        /// Creates a virtual directory, if it does not already exist.
        /// </summary>
        /// <param name="parent">The parent application.</param>
        /// <param name="virtualDirectorySpec">Specification for an IIS Virtual Directory.</param>
        private void AddVirtualDirectory(Application parent, VirtualDirectorySpecification virtualDirectorySpec)
        {
            string iisFriendlyName = '/' + virtualDirectorySpec.Name;
            VirtualDirectory virtualDirectory = parent.VirtualDirectories.FirstOrDefault(v => v.Path == iisFriendlyName);
            if (virtualDirectory == null)
            {
                if (!File.Exists(virtualDirectorySpec.PhysicalPath))
                {
                    Directory.CreateDirectory(virtualDirectorySpec.PhysicalPath);
                }

                this.installLogger.Log(string.Format(Messages.WEB_CreateVirtualDirectory, virtualDirectorySpec.Name));
                parent.VirtualDirectories.Add(iisFriendlyName, virtualDirectorySpec.PhysicalPath);
                this.installLogger.LogSuccess(Messages.MAIN_StepComplete);
                this.AddFolderPermission(virtualDirectorySpec.PhysicalPath, virtualDirectorySpec.Permission, parent.ApplicationPoolName);
            }
        }