Eu faria isso com um arquivo .bat ou similar (embora você não goste, continue lendo :)).
Pegue seu arquivo de lote para checar se o (s) programa (s) estão rodando e se não, então carregue depois!
@echo off
tasklist /FI "IMAGENAME eq dependantProgram.exe" | find /i "dependantProgram.exe"
IF ERRORLEVEL 1 start "" "C:\Program Files\dependantProgram.exe"
tasklist /FI "IMAGENAME eq myProgram.exe" | find /i "myProgram.exe"
IF ERRORLEVEL 1 start "" "C:\Program Files\dependantProgram.exe"
Agora, o agendador de tarefas deve executar isso quando um usuário fizer logon e executar a cada X minutos.