Lo so che é una cosa abbastanza inusuale avviare un processo con una stringa di comando (ampiamente) più lunga di 2000 caratteri, ma se dovesse servirvi sappiate un paio di cose:
- Su windows <= windows 2000 (ok, dovrebbero essere un ricordo) il limite é sempre e comunque 260 caratteri, su windows >= windows XP il limite teorico é di 32Kb
- Non usate Process.StartInfo.UseShellExecute = true (o gli overload Process.Start(string, string), ecc.)
Impostando UseShellExecute = true (valore di default) riceverete una bella: "System.ComponentModel.Win32Exception: Access Denied"