我正在尝试以编程方式从Windows服务打开InfoPath 2007文件,但是我收到以下错误:
System.Runtime.InteropServices.COMException (0x80043000):InfoPath无法打开 以下文件:C:\ path \ datafile.xml。 没有足够的存储空间可供使用 完成此操作。
此文件在InfoPath设计器中正确打开。它还以编程方式作为WinForms应用程序运行。但是,当您尝试作为Windows服务运行时,它会爆炸。
我咨询过强大的Google。返回的两个主要结果是格式错误的XML(不是原因,因为表单手动正确打开)或者尝试访问数据库(我不会这样做)。
有谁知道怎么做?我需要在服务上设置权限吗?
更新
根据Anders的要求,这是代码。请注意,这可能不是我最初发布问题时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 { }
}