サービス実行時のアカウントについて
サービスは、ログインしない状態で動作するため、実行時のアカウントを設定する必要があります。
デフォルトの状態では、ローカルシステムアカウントで実行されます。実行時のアカウントは、サービスのプロパティからログオンの設定で変更できます。
ローカルシステムアカウントでは、ローカルPCのリソースにのみアクセス権限があり、ネットワークリソースにはアクセス権限がありません。したがって、ネットワークドライブのフォルダを参照するなどの処理を行うとエラーが発生してしまいます。
ネットワークリソースにアクセスする処理がある場合は、適切な権限を付与したアカウントを作成し、そのアカウントをサービスのアカウントに指定する必要があります。
起動時の設定ファイル(iniファイル)の読み込みについて
eDocArrangementは起動時にログオンユーザによって以下のフォルダから設定ファイルを読み込みます。
設定ファイルの場所
WindowsXp,WindowsServer2003の場合
C:\Documents and Settings\ユーザ名\Application Data\TechnoStyle\eDocArrangement
WindowsVista,WindowsServer2008の場合
C:\ユーザ(Users)\ユーザ名\AppData\Roaming\TechnoStyle\eDocArrangement
サービスから起動する場合には、サービスのログオンで設定されているアカウントによって設定ファイルを読み込む場所が決定されます。
しかし、ローカルシステムアカウントに設定されている場合は、ログオンユーザが特定できないため、上記のルールで設定ファイルを読み込むことができません。
そこで、eDocArrangementのオプション設定に、「設定の保存時に、AllUsersにiniファイルをコピーする」という項目を用意しました。
そして、eDocArrangementの起動時には、まず、AllUsersフォルダ(以下参照)の設定ファイルを調べて、存在する場合は、読み込みを行い、存在しない場合には、ログオンユーザのフォルダの設定ファイルを読み込むようにしました。
設定ファイルの場所(All Users)
WindowsXp,WindowsServer2003の場合
C:\Documents and Settings\All Users\Application Data\TechnoStyle\eDocArrangement
WindowsVista,WindowsServer2008の場合
C:\ProgramData\TechnoStyle\eDocArrangement
上記フォルダが見つからない場合は、エクスプローラ > ツール > フォルダオプションの表示タブから、「すべてのファイルとフォルダを表示する」を選択し、「保護されたオペレーティングシステムファイルを表示しない」のチェックを外してください。
このAllUsersフォルダの設定ファイルを優先して読み込む仕様は、サービス実行時だけでなく、eDocArrangement本体のフォルダ監視や、プラグインからの実行の際にも適用されます。
サービスを使用する場合の注意点
eDocArrangementサービス(以下、サービス)は、ログインしない状態でも動作するため、デスクトップへのアクセスができません。したがって、ポップアップメッセージや、クリップボード、ブラウザフォームなどデスクトップにアクセスするマクロは、サービスからの実行ではすべて無視されます。
サービスのプロパティから設定できる項目は、Windowsが保持する情報になっています。ログオンや、回復の設定などの情報は、eDocArrangementの設定ファイルには保存されません。したがって、サービスをアンインストールすると、それらの情報は消えてしまいます。特にログオンのアカウントを指定している場合には、ユーザとパスワードに何を設定したのかを忘れないようにしてください。
サービスと、eDocArrangement本体のフォルダ監視は同時に実行できません。
eDocArrangementのオプション設定で、「起動時に自動監視を開始する」は、サービスが実行されている場合には、無視されます。
サービスをPCの起動と同時に開始したい場合には、eDocArrangementServiceのプロパティで、「スタートアップの種類」を「自動」に設定してください。
サービスの停止やPCのシャットダウンを行った場合に、eDocArrangementの処理が実行中の場合は、ファイル単位で処理を中断し、直ちに終了します。
ネットワークフォルダをドライブ割り当てしたドライブは、デスクトップの機能で動作するため、サービスから実行する場合には、処理内のパスなどに指定しないでください。\\で始まるネットワークパスを使用してください。
ネットワークフォルダには、サービスを実行しているユーザの権限でアクセスします。ネットワークフォルダにアクセスできない場合は、サービスのログオンユーザに適切なユーザが設定されていて、且つ、そのユーザにネットワークフォルダへのアクセス権があるか確認してください。
eDocArrangementのメニュー > ツール > サービス制御から、サービスの操作を行う場合、Windows7では、管理者として実行で起動してください。
