IL2CPP doesn’t support the `System.Diagnostics.Process` API methods. For cases where this is required on desktop platforms, use the Mono scripting backend.
----
If you still want to use Velopack in IL2CPP, you can use the following workaround
(remember that this is not recommended and may change in the future):
The first build is to generate the normal Unity project.
The second build is to generate the .exe file that Velopack needs to pack. Since the Unity executable on Windows is packaged in C++, its process needs some modification to integrate Velopack's [App Hooks](https://docs.velopack.io/integrating/hooks).
you can see the following code in the Main.cpp file
```c++
#include "PrecompiledHeader.h"
#include "..\UnityPlayerStub\Exports.h"
//for Velopack
#include "..\Velopack.hpp"
#include "Windows.h"
#include <shellapi.h>
//for Velopack
// Hint that the discrete gpu should be enabled on optimus/enduro systems
This will work because `WaitExitThenApplyUpdates` will not call `Environment.Exit`, but it will prepare up the Velopack updater to install the update when unity closes.