Dear forum members,
in our Projects we try to use relative pathes whenever possible. Since a few days our Keil Project which was not changed returns "--- Error: User Command terminated, Exit-Code = 1" error message while calling user programs which are referenced by relative pathes. We determined that the Problem starts with a regular Windows update which we had to do. It is like the Keil can not find the user program anymore. Using abolute pathes fixes the Problem but is not a solution for us. Additionally we saw that after the Windows update some arguments are passed in quotes what never happened before.
Some of our Projects could be fixed by activating the DOS16 checkbox in the User tab of the Project options. But unfortunately not all.
Is there anybody who saw the same Problems and found a solution?
Windows updates are unlikely to change how Keil executes external programs, or the paths those programs exist in. You'd need to double check what directory Keil thinks the build is occurring in, and where the apps are with respect to that.
AV programs, and some aspects of Windows, will inhibit the names of programs it will execute.
Faux directories off the Desktop, or directories with spaces in the names, are known to cause issues in all manner of applications. Quotes may be added to command line parameters to keep the parameters as one string, the called application may, or may not, be able to handle that or long file names, depending on how old those applications are.
Good morning and thank you for your quick response. Maybe to give a better overview of my environment...
Full path of the Batch file: C:\Daten\Projekte\HVH\HeaterBasicUnit\Software\HighVoltageUnit\Sources\CopyFiles.bat
Full path of Keil Project: C:\Daten\Projekte\HVH\HeaterBasicUnit\Software\HighVoltageUnit\Sources\HVH_HV.uvproj
Named path in Run User Programs Dialog with one Parameter, Run #1 activated: CopyFiles.bat "TLE9832"
No matter if I activate or deactivate DOS16 feature it is not working and I get the named error message. If I use the absolute path like: C:\Daten\Projekte\HVH\HeaterBasicUnit\Software\HighVoltageUnit\Sources\CopyFiles.bat ...it works.
Used operating System at my Laptop: Windows7 Enterprise SP1
For test purposes I wrote a simple batch file that outputs the actual directory with @ECHO %cd%. To call the Batch file I used the absolute path. Like I expected the Batch file outputs: C:\Daten\Projekte\HVH\HeaterBasicUnit\Software\HighVoltageUnit\Sources
Additionally it is not possible anymore to pass return parameters back to Keil after the User Program finishes.
Any further idea I can look for?