Windows サービスによって開始される実行可能ファイルがあります。このプログラムは顧客のマシンで実行され、特定のタスクを実行するにはリモート共有に接続する必要があります。この共有は、UI を介して顧客が指定するため、これを事前に知ることはできません。つまり、「ハードコード」することも、共有を事前にマップすることもできません。
以前は、顧客が自分のマシンにログオンしてログオン時に実行可能ファイルを実行する必要がありましたが、主に顧客にとって簡単にするために、サービス内でプログラムを実行できるようにし、ログインを必要としないことを常に望んでいました。偶発的なログアウトによるソフトウェアのシャットダウンを防ぎます。これは、顧客のマシンに存在するローカル ユーザー アカウントがわからないことも意味するため、ローカル システム アカウントを使用してサービスを開始する必要があります。
前述のように、実行可能ファイルを開始してさまざまなタスクを実行するためのラッパー サービスが用意されました。ほとんどの場合、これは正常に機能しているように見え、基盤となるネットワークに正常にアクセスします。当社のソフトウェアの主な目的は、パケットのキャプチャなどです。
ただし、ソフトウェアが Windows 共有 (UNC 名) に接続しようとすると、接続できません。一方、実行可能ファイルが手動で開始された場合、正常に接続されます。
システム アカウントはネットワーク共有にアクセスできないため、この種の問題を解決するために私が一般的に見た提案はすべて、ユーザー アカウントを使用するように見えますが、私たちの場合、これは不可能です。これを機能させる他の方法はありますか?
編集: このアプリケーションは XP ではなく Win2K で実行できる (そして最も一般的にはそうなる) ことを忘れていました。