Don't use Shell in .NET applications. Use Process.Start. You pass the path of the file to be executed to the first argument and any commandline parameters to the second argument. Process.Start is more flexible than Shell and has more functionality. You should read the help topics for the Process.Start method and the ProcessStartInfo class.

Also, I would suggest using the String.Format method rather than multiple concatenations. It is eminently more readable.