Question

I have a requirement like , i need to create the Site Templates programatically. when i am trying to save the Site As Template Programatically , i am getting the below error. "Error generating solution files in temporary directory". i have given full control on c:\windows\temp directory.And I am using below Method:

oWeb.SaveAsTemplate(templateName, templateTitle, tmplDesc, true);

(or)

string solutionFileUrl = SPSolutionExporter.ExportWebToGallery(oWeb,templateName, templateTitle,tmplDesc,SPSolutionExporter.ExportMode.FullReuse,true);

facing the same issue.

i am able to save root web as Template like SPContext.Current.Web.SaveAsTemplate(templateName, templateTitle, tmplDesc, true); but i need to save sub site as Template.

Below is my ULS log dump

System.Runtime.InteropServices.COMException: List does not exist. The page you selected contains a list that does not exist. It may have been deleted by another user.0x81020026, StackTrace: at Microsoft.SharePoint.SPListCollection.EnsureListsData(Guid webId, String strListName) at Microsoft.SharePoint.SPListCollection.ItemByInternalName(Guid webId, String listName) at Microsoft.SharePoint.WebPartPages.ListViewWebPart.EnsureList() at Microsoft.SharePoint.WebPartPages.ListViewWebPart.EnsureListAndView(Boolean requireFullBlownViewSchema) at Microsoft.SharePoint.WebPartPages.ListViewWebPart.ShouldSerializeTitle() at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterListViewWebPart.Write14_ListViewWebPart... ...(String n, String ns, ListViewWebPart o, Boolean isNullable, Boolean needType) at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationWriterListViewWebPart.Write15_WebPart(Object o) at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor) at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments) at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
at System.Xml.Serialization.TempAssembly.InvokeWriter(XmlMapping mapping, XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id) at System.Xml.Serialization.XmlSerializer.S... ...erialize(XmlWriter xmlWriter, Object o, XmlSerializerNamespaces namespaces, String encodingStyle, String id) at Microsoft.SharePoint.WebPartPages.WebPart.SerializeXml(XmlWriter writer, XmlSerializer xmls, Boolean shouldSerializeAll) at Microsoft.SharePoint.WebPartPages.WebPart.SerializeWebPartXml(Boolean shouldExcludeSpecialProperties, TextWriter writer) at Microsoft.SharePoint.WebPartPages.WebPart.WriteXmlAsUtf8(Boolean shouldExcludeSpecialProperties) at Microsoft.SharePoint.WebPartPages.SPWebPartManager.GetWebPartXml(WebPart webPart, Boolean shouldUTF8Encode, Boolean shouldExcludeSpecialProperties, Boolean export) at Microsoft.SharePoint.WebPartPages.SPLimitedWebPartManager.ExportWebPart(WebPart webPart, XmlWriter writer) at Microsoft.SharePoint.SPSolutionExporter... ....GetFilesInFolderTree(SPFolder folder, SortedList2 filesInFolder, List1 webViews) at Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder folder, SortedList2 filesInFolder, List1 webViews) at Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder folder, SortedList2 filesInFolder, List1 webViews) at Microsoft.SharePoint.SPSolutionExporter.GetFilesInWeb(String workflowTemplateName) at Microsoft.SharePoint.SPSolutionExporter.GenerateSolutionFiles() at Microsoft.SharePoint.SPSolutionExporter.ExportWebAsSolution() at Microsoft.SharePoint.SPSolutionExporter.ExportWebToGallery(SPWeb web, String solutionFileName, String title, String description, ExportMode exportMode, Boolean includeContent, String workflowTemplateName, String destina... ...tionListUrl, Action`1 solutionPostProcessor, Boolean activateSolution) at Microsoft.SharePoint.SPWeb.SaveAsTemplate(String strTemplateName, String strTemplateTitle, String strTemplateDescription, Boolean fSaveData) at TemplateIssueProject.ProjectTemplate.<>c__DisplayClass9.b__6() at Microsoft.SharePoint.SPSecurity.<>c__DisplayClass5.b__3() at Microsoft.SharePoint.Utilities.SecurityContext.RunAsProcess(CodeToRunElevated secureCode) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(WaitCallback secureCode, Object param) at Microsoft.SharePoint.SPSecurity.RunWithElevatedPrivileges(CodeToRunElevated secureCode) at TemplateIssueProject.ProjectTemplate.SaveTemplate(String webName, String templateName, String template... ...Title, String tmplDesc)
at TemplateIssueProject.ProjectTemplate.SiteCreation(String siteName) at TemplateIssueProject.TemplateIssewebpart.TemplateIssewebpart.btnSubmit_Click(Object sender, EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
at System.Web.UI.Page.ProcessRequest() at System.Web.UI.Page.ProcessRequest(HttpContext context) at ASP.WKPSTD_ASPX__1961116010.ProcessRequest(HttpContext context) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecut... ...ionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error) at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb) at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletio... ...n(IntPtr pHandler, RequestNotificationStatus& notificationStatus)
at System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion(IntPtr pHandler, RequestNotificationStatus& notificationStatus) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags) at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr rootedObjectsPointer, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)

System.NullReferenceException: Object reference not set to an instance of an object. at Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder folder, SortedList2 filesInFolder, List1 webViews) at Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder folder, SortedList2 filesInFolder, List1 webViews) at Microsoft.SharePoint.SPSolutionExporter.GetFilesInFolderTree(SPFolder folder, SortedList2 filesInFolder, List1 webViews) at Microsoft.SharePoint.SPSolutionExporter.GetFilesInWeb(String workflowTemplateName) at Microsoft.SharePoint.SPSolutionExporter.GenerateSolutionFiles() at Microsoft.SharePoint.SPSolutionExporter.ExportWebAsSolution()

Application error when access /SitePages/MyTaskPage.aspx, Error=Error generating solution files in temporary directory. at TemplateIssueProject.ProjectTemplate.SiteCreation(String siteName)
at TemplateIssueProject.TemplateIssewebpart.TemplateIssewebpart.btnSubmit_Click(Object sender, EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

System.InvalidOperationException: Error generating solution files in temporary directory. at TemplateIssueProject.ProjectTemplate.SiteCreation(String siteName)
at TemplateIssueProject.TemplateIssewebpart.TemplateIssewebpart.btnSubmit_Click(Object sender, EventArgs e) at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Please suggest/provide suggestions.

Regards,

Was it helpful?

Solution

below code is used to save the site as Template(Root Level/subsite)

using System.Management;
using System.Management.Automation;
using System.Management.Automation.Runspaces;
Add Reference to your solution from the below path.

Reference Path: C:\Windows\winsxs\msil_system.management.automation_31bf3856ad364e35_7.1.7601.18071_none_a682d4c5c360dacf\System.Management.Automation.dll

RunspaceInvoke oRunSpaceInvoke = new RunspaceInvoke();
                    FullWebUrl = SPContext.Current.Site.Url + "/" + objTemplate.strWebName;
                    strScriptToSaveTemp = @"Add-PSSnapin Microsoft.SharePoint.PowerShell ; Set-ExecutionPolicy -ExecutionPolicy RemoteSigned ;" +
                                    "$oWeb = Get-SPWeb " + FullWebUrl + " ; $oWeb.SaveAsTemplate('" + objTemplate.strTemplateTitle + "','" + objTemplate.strTemplateName + "','" + objTemplate.strTemplateDesc + "',1) \n";
oRunSpaceInvoke.Invoke(strScriptToSaveTemp).ToString();

Regards, Mahesh http://sharepointchampion.blogspot.in/2014/05/save-site-as-template-programatically.html

OTHER TIPS

If you have added any fields through a feature, and your field has Overwrite="FALSE", then site exporting will fail. You should only use Overwrite if you need to set it to TRUE, since the default is FALSE.

This seems to be a SharePoint bug.

You may see this attribute mentioned in your ULS logs.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top