diff --git a/components/editorControls/uploadfield/uploadField.cs b/components/editorControls/uploadfield/uploadField.cs
index a76af35..a30a1b0 100644
--- a/components/editorControls/uploadfield/uploadField.cs
+++ b/components/editorControls/uploadfield/uploadField.cs
@@ -102,7 +102,8 @@ namespace umbraco.editorControls
 
                     if (umbraco.UmbracoSettings.UploadAllowDirectories)
                     {
-                        filename = _text.Substring(_text.LastIndexOf("\\") + 1, _text.Length - _text.LastIndexOf("\\") - 1).ToLower();
+			char sep = Path.DirectorySeparatorChar;
+                        filename = _text.Substring(_text.LastIndexOf(sep) + 1, _text.Length - _text.LastIndexOf(sep) - 1).ToLower();
                         // Create a new folder in the /media folder with the name /media/propertyid
                         System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath(umbraco.GlobalSettings.Path + "/../media/" + _data.PropertyId.ToString()));
                         _fullFilePath = System.Web.HttpContext.Current.Server.MapPath(umbraco.GlobalSettings.Path + "/../media/" + _data.PropertyId + "/" + filename);
diff --git a/components/editorControls/userControlWrapper/usercontrolPrevalueEditor.cs b/components/editorControls/userControlWrapper/usercontrolPrevalueEditor.cs
index b651dc2..05a7b88 100644
--- a/components/editorControls/userControlWrapper/usercontrolPrevalueEditor.cs
+++ b/components/editorControls/userControlWrapper/usercontrolPrevalueEditor.cs
@@ -65,10 +65,12 @@ namespace umbraco.editorControls.userControlGrapper
         private void populateUserControls(string path)
         {
             DirectoryInfo di = new DirectoryInfo(path);
+	    string sep = Path.DirectorySeparatorChar.ToString ();
+	    string usercontrols_path = sep + "usercontrols";
             foreach (FileInfo uc in di.GetFiles("*.ascx"))
             {
                 _dropdownlistUserControl.Items.Add(
-                    new ListItem(uc.FullName.Substring(uc.FullName.IndexOf("\\usercontrols"), uc.FullName.Length - uc.FullName.IndexOf("\\usercontrols")).Replace("\\", "/")));
+                    new ListItem(uc.FullName.Substring(uc.FullName.IndexOf(usercontrols_path), uc.FullName.Length - uc.FullName.IndexOf(usercontrols_path)).Replace(sep, "/")));
 
             }
             foreach (DirectoryInfo dir in di.GetDirectories())
diff --git a/components/umbraco.webservices/BaseWebService.cs b/components/umbraco.webservices/BaseWebService.cs
index 477c1b1..bf05003 100644
--- a/components/umbraco.webservices/BaseWebService.cs
+++ b/components/umbraco.webservices/BaseWebService.cs
@@ -165,7 +165,7 @@ namespace umbraco.webservices
                 }
                 else
                 {
-                    return AppRoot + folderName + @"\";
+                    return AppRoot + folderName + System.IO.Path.DirectorySeparatorChar;
                 }
             }
 
diff --git a/umbraco/businesslogic/GlobalSettings.cs b/umbraco/businesslogic/GlobalSettings.cs
index 25d54d9..94f0f23 100644
--- a/umbraco/businesslogic/GlobalSettings.cs
+++ b/umbraco/businesslogic/GlobalSettings.cs
@@ -216,7 +216,7 @@ namespace umbraco
         protected static void SaveSetting(string key, string value)
         {
             ExeConfigurationFileMap webConfig = new ExeConfigurationFileMap();
-            webConfig.ExeConfigFilename = FullpathToRoot + "web.config";
+            webConfig.ExeConfigFilename = FullpathToRoot + "Web.config";
 
             Configuration config =
                 ConfigurationManager.OpenMappedExeConfiguration(webConfig, ConfigurationUserLevel.None);
diff --git a/umbraco/cms/businesslogic/Packager/Installer.cs b/umbraco/cms/businesslogic/Packager/Installer.cs
index fcfb27f..aa80bb0 100644
--- a/umbraco/cms/businesslogic/Packager/Installer.cs
+++ b/umbraco/cms/businesslogic/Packager/Installer.cs
@@ -773,9 +773,10 @@ namespace umbraco.cms.businesslogic.packager
         {
             Debug.Assert(path != null && path.Length >= 1);
             Debug.Assert(fileName != null && fileName.Length >= 1);
+	    char sep = Path.DirectorySeparatorChar;
 
-            path = path.Replace('/', '\\');
-            fileName = fileName.Replace('/','\\');
+            path = path.Replace('/', sep);
+            fileName = fileName.Replace('/',sep);
 
             // Does filename start with a slash? Does path end with one?
             bool fileNameStartsWithSlash = (fileName[0] == Path.DirectorySeparatorChar);
@@ -836,16 +837,19 @@ namespace umbraco.cms.businesslogic.packager
             
             string virtualBasePath = System.Web.HttpContext.Current.Request.ApplicationPath;
             string basePath = HttpContext.Current.Server.MapPath(virtualBasePath);
-            
+	    char sep = Path.DirectorySeparatorChar;
+	    string app_code = sep + "app_code";
+	    string bin_code = sep + "bin";
+
             foreach (XmlNode n in _packageConfig.DocumentElement.SelectNodes("//file")) {
                 bool badFile = false;
                 string destPath = getFileName(basePath, xmlHelper.GetNodeValue(n.SelectSingleNode("orgPath")));
                 string destFile = getFileName(destPath, xmlHelper.GetNodeValue(n.SelectSingleNode("orgName")));
 
-                if (destPath.ToLower().Contains("\\app_code"))
+                if (destPath.ToLower().Contains(app_code))
                     badFile = true;
                 
-                 if (destPath.ToLower().Contains("\\bin"))
+                 if (destPath.ToLower().Contains(bin_code))
                     badFile = true;
 
                  if (destFile.ToLower().EndsWith(".dll"))
@@ -919,18 +923,19 @@ namespace umbraco.cms.businesslogic.packager
         //this uses the old method of fetching and only supports the packages.umbraco.org repository.
         public string Fetch(Guid Package)
         {
+	    char sep = Path.DirectorySeparatorChar;
 
             // Check for package directory
-            if (!System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath(umbraco.GlobalSettings.StorageDirectory + "\\packages")))
-                System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath(umbraco.GlobalSettings.StorageDirectory + "\\packages"));
+            if (!System.IO.Directory.Exists(System.Web.HttpContext.Current.Server.MapPath(umbraco.GlobalSettings.StorageDirectory + sep + "packages")))
+                System.IO.Directory.CreateDirectory(System.Web.HttpContext.Current.Server.MapPath(umbraco.GlobalSettings.StorageDirectory + sep + "packages"));
 
             System.Net.WebClient wc = new System.Net.WebClient();
 
             wc.DownloadFile(
                 "http://" + UmbracoSettings.PackageServer + "/fetch?package=" + Package.ToString(),
-                System.Web.HttpContext.Current.Server.MapPath(umbraco.GlobalSettings.StorageDirectory + "\\packages\\" + Package.ToString() + ".umb"));
+                System.Web.HttpContext.Current.Server.MapPath(umbraco.GlobalSettings.StorageDirectory + sep + "packages" + sep + Package.ToString() + ".umb"));
 
-            return "packages\\" + Package.ToString() + ".umb";
+            return "packages" + sep + Package.ToString() + ".umb";
         }
 
 
diff --git a/umbraco/cms/businesslogic/Packager/Repositories/Repository.cs b/umbraco/cms/businesslogic/Packager/Repositories/Repository.cs
index 602957f..c662e23 100644
--- a/umbraco/cms/businesslogic/Packager/Repositories/Repository.cs
+++ b/umbraco/cms/businesslogic/Packager/Repositories/Repository.cs
@@ -201,7 +201,7 @@ namespace umbraco.cms.businesslogic.packager.repositories {
                 fs1.Close();
                 fs1 = null;
 
-                return "packages\\" + packageGuid + ".umb";
+                return "packages" + Path.DirectorySeparatorChar + packageGuid + ".umb";
 
             } else {
 
diff --git a/umbraco/cms/businesslogic/Packager/Settings.cs b/umbraco/cms/businesslogic/Packager/Settings.cs
index c34fbde..798216c 100644
--- a/umbraco/cms/businesslogic/Packager/Settings.cs
+++ b/umbraco/cms/businesslogic/Packager/Settings.cs
@@ -38,6 +38,8 @@ namespace umbraco.cms.businesslogic.packager {
         public static bool HasFileAccess(ref Exception exp) {
             System.IO.StreamWriter sw = System.IO.StreamWriter.Null;
             sw.AutoFlush = true;
+	    char sep = System.IO.Path.DirectorySeparatorChar;
+
             try {
             
                sw = System.IO.File.AppendText(HttpContext.Current.Server.MapPath(InstalledPackagesSettings));
@@ -50,11 +52,11 @@ namespace umbraco.cms.businesslogic.packager {
                 sw.Close();
 //                sw.Dispose();
                 
-                System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(PackagesStorage) + "\\__testFolder__");
-                System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(InstalledPackagesStorage) + "\\__testFolder__");
+                System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(PackagesStorage) + sep + "__testFolder__");
+                System.IO.Directory.CreateDirectory(HttpContext.Current.Server.MapPath(InstalledPackagesStorage) + sep + "__testFolder__");
 
-                System.IO.Directory.Delete(HttpContext.Current.Server.MapPath(PackagesStorage) + "\\__testFolder__", true);
-                System.IO.Directory.Delete(HttpContext.Current.Server.MapPath(InstalledPackagesStorage) + "\\__testFolder__", true);
+                System.IO.Directory.Delete(HttpContext.Current.Server.MapPath(PackagesStorage) + sep + "__testFolder__", true);
+                System.IO.Directory.Delete(HttpContext.Current.Server.MapPath(InstalledPackagesStorage) + sep + "__testFolder__", true);
                 sw = null;
 
             } catch(Exception ex) {
diff --git a/umbraco/datalayer/DataLayerHelper.cs b/umbraco/datalayer/DataLayerHelper.cs
index a2c8251..9809b7a 100644
--- a/umbraco/datalayer/DataLayerHelper.cs
+++ b/umbraco/datalayer/DataLayerHelper.cs
@@ -63,6 +63,7 @@ namespace umbraco.DataLayer
                 connectionStringBuilder.Remove(ConnectionStringDataLayerIdentifier);
             }
             
+
             string[] datalayerTypeParts = datalayerType.Split(",".ToCharArray());
             string helperTypeName = datalayerTypeParts[0].Trim();
             string helperAssemblyName = datalayerTypeParts.Length < 2 ? String.Empty
diff --git a/umbraco/presentation/content.cs b/umbraco/presentation/content.cs
index 799b4e8..3b41fa3 100644
--- a/umbraco/presentation/content.cs
+++ b/umbraco/presentation/content.cs
@@ -29,8 +29,8 @@ namespace umbraco
         #region Declarations
 
         private readonly string UmbracoXmlDiskCacheFileName = HttpRuntime.AppDomainAppPath +
-                                                              GlobalSettings.ContentXML.Replace('/', '\\').TrimStart(
-                                                                  '\\');
+                                                              GlobalSettings.ContentXML.Replace('/', Path.DirectorySeparatorChar).TrimStart(
+								  Path.DirectorySeparatorChar);
 
         private readonly string XmlContextContentItemKey = "UmbracoXmlContextContent";
 
diff --git a/umbraco/presentation/library.cs b/umbraco/presentation/library.cs
index 25bb025..eddfb77 100644
--- a/umbraco/presentation/library.cs
+++ b/umbraco/presentation/library.cs
@@ -105,7 +105,8 @@ namespace umbraco
         {
             try
             {
-                string path = HttpContext.Current.Server.MapPath(GlobalSettings.Path + "\\..\\python\\" + file);
+		char sep = Path.DirectorySeparatorChar;
+                string path = HttpContext.Current.Server.MapPath(String.Format ("{0}{1}..{1}python{1}{2}", GlobalSettings.Path, sep, file));
                 object res = python.executeFile(path);
                 return res.ToString();
             }
diff --git a/umbraco/presentation/macro.cs b/umbraco/presentation/macro.cs
index 874d6b2..2b5d7d9 100644
--- a/umbraco/presentation/macro.cs
+++ b/umbraco/presentation/macro.cs
@@ -601,13 +601,13 @@ namespace umbraco
                                 HttpContext.Current.Trace.Warn("umbracoMacro InnerException", ie.Message, ie);
                                 ie = ie.InnerException;
                             }
-                            return new LiteralControl("Error parsing XSLT file: \\xslt\\" + XsltFile);
+                            return new LiteralControl(String.Format ("Error parsing XSLT file: {0}xslt{0}{1}", Path.DirectorySeparatorChar, XsltFile));
                         }
                     }
                     catch (Exception e)
                     {
                         HttpContext.Current.Trace.Warn("umbracoMacro", "Error loading XSLT " + xsltFile, e);
-                        return new LiteralControl("Error reading XSLT file: \\xslt\\" + XsltFile);
+                        return new LiteralControl(String.Format ("Error reading XSLT file: {0}xslt{0}{1}", Path.DirectorySeparatorChar, XsltFile));
                     }
                 }
             }
@@ -974,8 +974,8 @@ namespace umbraco
                     // Execute the script and set the text of our LiteralControl with the returned
                     // result of our script.
                     string path = HttpContext.Current.Server.MapPath(
-                        string.Format("{0}\\..\\python\\{1}",
-                                      GlobalSettings.Path, macro.PythonFile));
+                        string.Format("{0}{1}..{1}python{1}{2}",
+                                      GlobalSettings.Path, Path.DirectorySeparatorChar, macro.PythonFile));
                     object res = python.executeFile(path);
                     ret.Text = res.ToString();
                 }
diff --git a/umbraco/presentation/python.cs b/umbraco/presentation/python.cs
index 6170088..c01d0f3 100644
--- a/umbraco/presentation/python.cs
+++ b/umbraco/presentation/python.cs
@@ -1,4 +1,5 @@
 using System;
+using System.IO;
 
 namespace umbraco.scripting
 {
@@ -37,16 +38,17 @@ namespace umbraco.scripting
         /// <returns></returns>
         private static void initEnv()
         {
+	    char sep = Path.DirectorySeparatorChar;
             // Add umbracos bin folder to python's path
-            string path = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + "\\..\\bin");
+            string path = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + sep + ".." + sep + "bin");
             Engine.AddToPath(path);
 
 			// Add umbracos python folder to python's path
-			path = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + "\\..\\python");
+			path = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + sep + ".." + sep + "python");
 			Engine.AddToPath(path);
 
             // execute the site.py to do all the initial stuff
-            string initFile = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + "\\..\\site.py");
+            string initFile = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + sep + ".." + sep + "site.py");
             Engine.ExecuteFile(initFile);
         }
 
@@ -56,8 +58,9 @@ namespace umbraco.scripting
 		/// <returns></returns>
 		private static void loadScripts()
 		{
+			char sep = Path.DirectorySeparatorChar;
 			scripts = new System.Collections.Hashtable();
-			string path = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + "\\..\\python");
+			string path = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + sep + ".." + sep + "python");
 			System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo(path);
 			foreach (System.IO.FileInfo f in dir.GetFiles("*.py"))
 			{
@@ -171,7 +174,8 @@ namespace umbraco.scripting
 
         public PythonEngine()
         {
-            string path = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + "\\..\\bin\\IronPython.dll");
+	    char sep = Path.DirectorySeparatorChar;
+            string path = System.Web.HttpContext.Current.Server.MapPath(GlobalSettings.Path + sep + ".." + sep + "bin" + "IronPython.dll");
             System.Reflection.Assembly asm = System.Reflection.Assembly.LoadFile(path);
             System.Type EngineType = asm.GetType("IronPython.Hosting.PythonEngine");
             Engine = System.Activator.CreateInstance(EngineType);
diff --git a/umbraco/presentation/umbraco/create/script.ascx.cs b/umbraco/presentation/umbraco/create/script.ascx.cs
index 663dda8..4420629 100644
--- a/umbraco/presentation/umbraco/create/script.ascx.cs
+++ b/umbraco/presentation/umbraco/create/script.ascx.cs
@@ -2,6 +2,7 @@ using System;
 using System.Data;
 using System.Configuration;
 using System.Collections;
+using System.IO;
 using System.Web;
 using System.Web.Security;
 using System.Web.UI;
@@ -22,8 +23,9 @@ namespace umbraco.presentation.umbraco.create
         {
             if (Page.IsValid)
             {
+		char sep = Path.DirectorySeparatorChar;
                 string path = helper.Request("nodeID");
-                string relativepath = path.Replace(System.Web.HttpContext.Current.Server.MapPath(UmbracoSettings.ScriptFolderPath)+"\\", "") +"\\";
+                string relativepath = path.Replace(System.Web.HttpContext.Current.Server.MapPath(UmbracoSettings.ScriptFolderPath)+sep, "") +sep;
 
                 if (path == "init")
                 {
diff --git a/umbraco/presentation/umbraco/create/standardTasks.cs b/umbraco/presentation/umbraco/create/standardTasks.cs
index 4d6a26f..3678908 100644
--- a/umbraco/presentation/umbraco/create/standardTasks.cs
+++ b/umbraco/presentation/umbraco/create/standardTasks.cs
@@ -1,6 +1,6 @@
 using System;
 using System.Data;
-
+using System.IO;
 using System.Web.Security;
 using umbraco.BusinessLogic;
 using umbraco.DataLayer;
@@ -235,17 +235,17 @@ namespace umbraco
             string fileType = scriptFileAr[2];
             string relativePath = scriptFileAr[3];
             int createFolder = ParentID;
-
+	    string sep = Path.DirectorySeparatorChar.ToString ();
 
             if (createFolder == 1)
             {
-                System.IO.Directory.CreateDirectory(path + @"\" + fileName);
+                System.IO.Directory.CreateDirectory(path + sep + fileName);
             }
             else
             {
 
-                System.IO.File.Create(path + @"\" + fileName + "." + fileType).Close();
-                m_returnUrl = string.Format("settings/scripts/editScript.aspx?file={0}{1}.{2}", relativePath.Replace("\\", "/"), fileName, fileType);
+                System.IO.File.Create(path + sep + fileName + "." + fileType).Close();
+                m_returnUrl = string.Format("settings/scripts/editScript.aspx?file={0}{1}.{2}", relativePath.Replace(sep, "/"), fileName, fileType);
             }
             return true;
         }
diff --git a/umbraco/presentation/umbraco/create/xslt.ascx.cs b/umbraco/presentation/umbraco/create/xslt.ascx.cs
index ff3e177..f7825c6 100644
--- a/umbraco/presentation/umbraco/create/xslt.ascx.cs
+++ b/umbraco/presentation/umbraco/create/xslt.ascx.cs
@@ -3,6 +3,7 @@ namespace umbraco.presentation.create
 	using System;
 	using System.Data;
 	using System.Drawing;
+	using System.IO;
 	using System.Web;
 	using System.Web.UI.WebControls;
 	using System.Web.UI.HtmlControls;
@@ -18,8 +19,9 @@ namespace umbraco.presentation.create
 
 		protected void Page_Load(object sender, System.EventArgs e)
 		{
+			char sep = Path.DirectorySeparatorChar;
 			sbmt.Text = ui.Text("create");
-			foreach(string fileName in Directory.GetFiles(Server.MapPath(GlobalSettings.Path + "\\xslt\\templates"), "*.xslt")) 
+			foreach(string fileName in Directory.GetFiles(Server.MapPath(GlobalSettings.Path + sep + "xslt" + sep + "templates"), "*.xslt")) 
 			{
 				FileInfo fi = new FileInfo(fileName);
 				if (fi.Name != "Clean.xslt")
diff --git a/umbraco/presentation/umbraco/developer/Macros/editMacro.aspx.cs b/umbraco/presentation/umbraco/developer/Macros/editMacro.aspx.cs
index 0c64be1..4a2ff2d 100644
--- a/umbraco/presentation/umbraco/developer/Macros/editMacro.aspx.cs
+++ b/umbraco/presentation/umbraco/developer/Macros/editMacro.aspx.cs
@@ -293,10 +293,11 @@ namespace umbraco.cms.presentation.developer
         private void populateUserControls(string path)
         {
             DirectoryInfo di = new DirectoryInfo(path);
+	    char sep = Path.DirectorySeparatorChar;
             foreach (FileInfo uc in di.GetFiles("*.ascx"))
             {
                 userControlList.Items.Add(
-                    new ListItem(uc.FullName.Substring(uc.FullName.IndexOf("\\usercontrols"), uc.FullName.Length - uc.FullName.IndexOf("\\usercontrols")).Replace("\\", "/")));
+                    new ListItem(uc.FullName.Substring(uc.FullName.IndexOf(sep + "usercontrols"), uc.FullName.Length - uc.FullName.IndexOf(sep + "usercontrols")).Replace(sep.ToString (), "/")));
 
             }
             foreach (DirectoryInfo dir in di.GetDirectories())
diff --git a/umbraco/presentation/umbraco/treeInit.aspx.cs b/umbraco/presentation/umbraco/treeInit.aspx.cs
index dfb553d..ddafcfd 100644
--- a/umbraco/presentation/umbraco/treeInit.aspx.cs
+++ b/umbraco/presentation/umbraco/treeInit.aspx.cs
@@ -134,9 +134,8 @@ namespace umbraco.cms.presentation
         private void RenderTreeJS(List<BaseTree> trees)
         {
             StringBuilder javascript = new StringBuilder();
-            foreach (BaseTree bTree in trees)
-                bTree.RenderJS(ref javascript);
-
+	    foreach (BaseTree bTree in trees)
+		    bTree.RenderJS (ref javascript);
             PlaceHolderJavascript.Controls.Add(
                new LiteralControl(javascript.ToString())
                );
