Failed to connect to C:\Program Files\LibreOffice 3.5\program\soffice.exe (pid=10080) in 6 seconds.対策:(2012/07/05に大幅修正!)
Connector : couldn't connect to socket (WSAECONNREFUSED, Connection refused)
Error: Unable to connect or start own listener. Aborting.
① IUSRを止めて、一般的なアカウントに変更する。
Users権限を持っていれば十分です。Administrators権限は不要です。
参考:https://github.com/dagwieers/unoconv/issues/44
② AppDataのパスを固定化する。
それでもダメなら、AppDataのパスを固定化します。
その一般的なアカウントでログインし、レジストリエディタを立ち上げます。例:
runas /u:Pro4 /p regedit.exeレジストリの次の場所のAppData値
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Foldersこちらの指している場所を、具体的なパスに変更する。例:
C:\Documents and Settings\Pro4\Application Dataこんな感じです:
最初は次のようになっています:
%USERPROFILE%\Application Data
原因:(2012/07/05に修正)
長々と追跡しましたが、次の箇所で、失敗していたようです。
if ( !GetSpecialFolder( &ustrFile, CSIDL_APPDATA) )普通はここで失敗しない手はずですが…
IUSR_XXXのアカウントを確認しますと、Guests権限になっていました。
また、IIS7.5では、IUSRは、NT AUTHORITY\IUSRに収まっていたりと、低権限故のアクセス制限が多数掛けられている可能性が見込まれます。
それで、CSIDL_APPDATAは、bootstrap.ini中の、$SYSUSERCONFIGを解決する際に必要とされます。
UserInstallation=$SYSUSERCONFIG/LibreOffice/3utl::Bootstrap::locateUserInstallationが、それを取得しようとしますが、GetSpecialFolderで失敗します。
return UserInstall::E_Creation;UserInstall::UserInstallError instErr_fin = UserInstall::finalize();まで戻りまして、次の様な具合で落ちます:
HandleBootstrapErrors( BE_USERINSTALL_FAILED );「プログラムは起動できません。」「内部エラーが発生しました。」を表示する事になる様です:
FatalError(aMessage);
0 件のコメント:
コメントを投稿