Если он работает как администратор, но не как обычный пользователь, то, скорее всего, это проблема с привилегиями.
Я настоятельно рекомендую добавить некоторые журналы вокруг выполнения.
например
Runtime runtime = Runtime.getRuntime();
Process convertProcess = runtime.exec(execProperties);
/** important; read the error stream before! invoke waitFor */
BufferedReader errorReader = new BufferedReader(
new InputStreamReader(convertProcess.getErrorStream()));
try {
StringBuilder errorMessage = new StringBuilder();
String line = null;
while ((line = errorReader.readLine()) != null) {
errorMessage.append(line);
errorMessage.append("\n");
}
int returnValue = convertProcess.waitFor();
if (returnValue != 0) {
handleNonZeroReturnValue(returnValue)
}
} finally {
errorReader.close();
}
Надеюсь, это поможет вам "отладить" проблему