2016-09-23 7 views
0

私はPowerPointスライドをイメージにトランスコードする必要のあるJava Webアプリケーションを持っています。サービスとして起動したときにJavaアプリケーションがJACOB経由でPowerPointを呼び出す方法を教えてください。

このアプリケーションでは、このアプリケーションはJACOB経由でPowerPointに接続します。

アプリケーションを正しく動作させるために、サービスとして展開します(nssmを使用)。その際、私がPPTファイルを明らかにサービスを実行するユーザー(私が書き込むことができるよりも、フォルダ内に書かれているため、以下の例外

[1;31m[ERROR] wisdom-error[0;39m [36m{vert.x-eventloop-thread-0}[0;39m - An exception occurred while processing request POST /skillCenter/{portal}/config/add 
com.jacob.com.ComFailException: Invoke of: Open 
Source: Microsoft Office PowerPoint 2007 
Description: PowerPoint could not open the file. 

    at com.jacob.com.Dispatch.invokev(Native Method) ~[jacob-1.18.jar:na] 
    at com.jacob.com.Dispatch.invokev(Dispatch.java:625) ~[jacob-1.18.jar:na] 
    at com.jacob.com.Dispatch.callN(Dispatch.java:453) ~[jacob-1.18.jar:na] 
    at com.jacob.com.Dispatch.call(Dispatch.java:541) ~[jacob-1.18.jar:na] 
    at myCompany.myProject.helpers.loaders.powerpoint.MSPowerPoint.getPresentation(MSPowerPoint.java:58) ~[na:na] 
    at myCompany.myProject.helpers.loaders.powerpoint.MSPowerPoint.transform(MSPowerPoint.java:139) ~[na:na] 

に画像にスライドをトランスコードすることができないんだそうです、テストケースで)。

Process Hackerでプロセスをチェックすると、アプリケーションを開始するプロセスチェーンの所有者、およびsvchost.exeによって起動されるPowerPointが表示されます。

私の場合、何が間違っていますか?パワーポイントは、サービスとして実行されたときに、どのようにしてファイルにアクセスできないのですか?

EDIT 1システムアカウントとアカウントの両方を使用してみましたが、両方のアカウントで同じ欠陥が明らかになりました。

+0

サービスの実行にはどのユーザーアカウントを使用しますか? – Robert

+0

@Robert私は私の質問を更新してあなたのコメントに答えました。 – Riduidel

答えて

0

サービスとして実行されると、Officeプログラムでは、システムローカルユーザーにデスクトップフォルダが必要です。そうでない場合、これらの奇妙なエラーが発生します。

その結果、このような問題の解決策は、C:\Windows\SysWOW64\config\systemprofile\Desktop(Windows 64上)フォルダを作成することです。

関連する問題