我试图从Windows服务以编程方式打开InfoPath 2007文件,但出现以下错误:
(0x80043000):InfoPath无法打开
以下文件:C:\path\datafile.xml。
没有足够的存储空间供用户使用
此文件在InfoPath designer中正确打开。它还作为WinForms应用程序以编程方式运行。但当你尝试以Windows服务运行时,它会崩溃。
我咨询了强大的谷歌。返回的两个主要结果要么是格式错误的XML(不是原因,因为表单是手动正确打开的),要么与尝试访问数据库有关(我没有这样做)。
有人知道怎么做吗?是否需要对该服务设置权限?
根据安德斯的要求,这是代码。请注意,这可能不是我6个月前发布问题时使用的代码。此后,我们开始使用XtraReports,因为它似乎更容易使用,而且这些神秘错误也更少。然而,我想为其他任何一位可能需要答案的人解决这个问题。
Microsoft.Office.Interop.InfoPath.Application infoApp = new Microsoft.Office.Interop.InfoPath.Application();
try
{
Microsoft.Office.Interop.InfoPath.XDocument xDoc = null;
xDoc = infoApp.XDocuments.Open(fileName, (int)Microsoft.Office.Interop.InfoPath.XdDocumentVersionMode.xdUseExistingVersion);
xDoc.PrintOut();
infoApp.XDocuments.Close(0);
}
catch (Exception ex)
{
//handle error here
}
finally
{
try
{
if (infoApp != null)
infoApp.Quit(false);
}
catch { }
}