Process.Start nome do arquivo usando% temp%

Por algum motivo estranho, este código falha:

p.StartInfo.FileName = @"%temp%\SSCERuntime_x86-ENU.msi";

e este código é bem-sucedido:

p.StartInfo.FileName = @"C:\Users\USERNAME\AppData\Local\Temp\SSCERuntime_x86-ENU.msi";

Existe algum motivo de falta?

Not Acabei de copiar o caminho, acho que não é necessário o restante do código, mas vou colocar assim mesmo:

Process p = new Process();
p.StartInfo.FileName = @"%temp%\SSCERuntime_x86-ENU.msi";
p.StartInfo.Arguments = "/passive";
p.Start();

questionAnswers(10)

yourAnswerToTheQuestion