InfoPath 2007ファイルをサービスからプログラムでどのように開きますか?

StackOverflow https://stackoverflow.com/questions/303325

  •  08-07-2019
  •  | 
  •  

質問

WindowsサービスからプログラムでInfoPath 2007ファイルを開こうとしていますが、次のエラーが表示されます:

  

System.Runtime.InteropServices.COMException   (0x80043000):InfoPathは開くことができません   次のファイル:C:\ path \ datafile.xml。   十分なストレージが利用できません   この操作を完了します。

このファイルは、InfoPathデザイナーで正しく開きます。また、WinFormsアプリケーションとしてプログラムで実行されます。しかし、Windowsサービスとして実行しようとすると、爆発します。

私は強力なGoogleに相談しました。返される2つの主な結果は、不正な形式の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 { }
}
役に立ちましたか?
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top