VisualStudio2008 で作成したプログラム(サービス、クライアント、その他を含む)をセットアップ プロジェクトで
パッケージにしています。
インストーラはインストール後に、バッチ プログラム(インストーラに含まれる)を実行します。
バッチプログラムは、サービスのインストールと初回のクライアント起動を行います。
タスクマネージャでクライアントのプロセスを見たところ、ユーザ名が"SYSTEM"になっているのが問題で、
プロセスの保有者をログインユーザにする必要があるのですが、この方法がわかりません。
バッチプログラムはC言語で記述し、クライアントの起動は、ShellExecute()で起動させています。
解決方法をご存知の方がいましたら、ご教授お願いいたします。
追伸)
一応、起動時の自動実行のレジストリ登録を行っているので、インストール後に再起動すれば
問題なく、ユーザ所有のクライアントを起動できるのですが、再起動の手間を省きたいと現時点では考えています。
プロセスのユーザーがSYSTEMというのをどう解釈したらいいのか自信ありませんが、
プロセスがSYSTEMでデスクトップにアクセスできないことが問題なのでしょうか?
それともクライアント起動はうまくいっていて所有者がSYSTEMになっているのが問題でしょうか?
前者ならこちらが参考になるかもしれません。
http://support.microsoft.com/kb/173687/ja
後者ならこちらが参考になるかもしれません。
http://rararahp.cool.ne.jp/cgi-bin/lng/vc/vclng.cgi?print+200807/08070052.txt
>>subaruさん
返信ありがとうございます。
後者で、インストール後のクライアントの所有者がSYSTEMになっているのが問題です。ログインユーザの所有でクライアントを起動させる必要があります。 少し面倒そうなので、単純に再起動を要求してPC起動後にクライアントを自動起動したいと思います。