Windows サービスとして設計された C++ Windows アプリケーションがあります。アップデーターを定期的に実行して、新しいバージョンがあるかどうかを確認します。アップデーターを実行するには、_execv()を使用します。アップデーターは新しいバージョンを探してダウンロードし、Windows サービスを停止し (これらのアクションはすべてログに記録されます)、ファイルを置き換えて、サービスを再開します。CLIモードで(サービスモードに入らないで)それを行うと、そのようにうまく機能します。私のログ ファイルによると、子プロセスは起動されますが、親プロセス (Windows サービス) は終了します。
Windowsサービスで子プロセスを起動することさえ「許可」されていますか?なぜサービスが予期せず終了するのですか? 私のログファイルにはエラーが表示されません(ログに書き込まれるセグメンテーション違反なども監視しています)。