Windows Server 2003-IIS 6.0
OpenOfficeを使用してMicrosoftOfficeドキュメントをPDFに変換し、Web上に表示できるようにするAsp.Net 4.0(C#)Webアプリケーションがあります。
すべてが正常に機能していました。
次に、WebサーバーでOpenOfficeを3.2.1から3.4.1にアップグレードしましたが、機能しなくなりました。この問題は、ブートストラップ呼び出しで発生します。
private static XComponentLoader LoadOO()
{
XComponentContext OO = uno.util.Bootstrap.bootstrap(); // this will either start OOo or Find one that's running. (The code hangs here)
XMultiServiceFactory oServMan = (XMultiServiceFactory)OO.getServiceManager(); // Get Service Manager
XComponentLoader aLoader = (XComponentLoader)oServMan.createInstance("com.sun.star.frame.Desktop"); // Get a CompontLoader
return aLoader;
}
uno.util.Bootstrap.bootstrap(); ハングして何も返されません。
呼び出しはネットワークサービスユーザー名でOpenOfficeを開始しますが、呼び出しが戻ることはありません。メソッドが呼び出されるたびに、すでに開いているインスタンスにアタッチする代わりに、OpenOfficeの別のインスタンスが開きます。
もう一度3.2.1にダウングレードしてみましたが、同じことが起こります。
ここで概説したソリューション3を試しましたが、成功しませんでした。
IISを再起動し、アプリケーションプールと、ユーザーのアクセス許可に関係するさまざまなことをリサイクルしてみました。どこにも行けず、助けが必要です。
私はもともとWebサーバーでこれを機能させた人ではなかったので、特別な措置が取られたかどうかはわかりません。どちらのバージョンのOpenOfficeを使用していても、開発マシンで問題なく動作します。