Hi, I think all the compiling command like:
"E:/sci/miktex-portable29/miktex/bin/xelatex.exe" -synctex=1 -interaction=nonstopmode %.tex
should be write as:
"xelatex.exe" -synctex=1 -interaction=nonstopmode %.tex
In this case, I suggest Texstudio can add a master path for many distributions' bin folder, or simply the user can have an options to add the Miktex/bin's directory to the PATH variable when Texstudio started.
Note: I don't want to put the path "E:/sci/miktex-portable29/miktex/bin" in the Windows System PATH variable, so I would suggest putting this path to local PATH variable associated with the Texstudio's process.