Once common issue is that network drives that are mapped as part of your desktop logon are not mapped in a scheduled task environment. If your program is referencing a drive letter, change that to use a UNC path. \ServerName\ShareName
Beyond that, forum users would have no idea what your program is doing. In an un-attended environment like a scheduled task, you need to implement logging of some kind so that when an error occurs, something is written to the log.
If you are executing a command line program, then capturing stdout and stderr might be sufficient.
Create a bat file that executes your program. Echo %date% %time% as the first and last line the .bat so that know when the task starts and ends.
@echo %date% - %time% MyScript is starting.
SomeProgram.exe
@echo %date% - %time% MyScript is ending. SomeProgram RC=%errorlevel%
Then change the scheduled task to execute program "cmd.exe".
In the arguments field set it like this example:
/c C:\Scripts\MyScript.bat 1>>"C:\Scripts\Logs\MyScript-%date:~10,4%-%date:~4,2%%date:~7,2%.log" 2>&1
That will create a daily log file of all executions of the task. That will capture stdout and stderr for programs that get called.