For some odd reaseon this code fails:
p.StartInfo.FileName = @\"%temp%\\SSCERuntime_x86-ENU.msi\";
and this code succes:
p.
%TEMP% is parsed and evaluated by Command Shell. You could use use Path.GetTempPath() and Path.Combine for this purpose.
p.StartInfo.FileName = Path.Combine(Path.GetTempPath(), @"SSCERuntime_x86-ENU.msi");