I donβt know if there are any InnoSetup shells ready to run, but you can do this easily (if you are familiar with InnoSetup) simply by using the command line technique that you are talking about. To do this, simply create an instance of the Process class, more or less like here:
Process innoProc = Process.Start(InnoSetupExePath, Arguments);
This is basically what you need using one of Process.Start overloads
source share