To create a custom installer, you need to include the runtime libraries used by your application. The exact configuration depends on the Gurobi API that you are using:
Any program that uses Gurobi needs to include the Gurobi native-code library (gurobi91.dll for Windows, libgurobi91.so for Linux, or libgurobi91.dylib for macOS), and the program must be able to find the library when it runs. You can either place the file in the same directory as your program, or you can set the appropriate environment variable so that your program can find it (PATH on Windows, LD_LIBRARY_PATH on Linux, DYLD_LIBRARY_PATH on macOS).
For Java programs, you also need to include the Gurobi JNI library (GurobiJni91.dll on Windows, libGurobiJni91.so on Linux, libGurobiJni91.jnilib on macOS). Again, you must ensure that your program can use it.
For .NET programs, you also need to include the appropriate Gurobi .NET library depending on whether the application is .NET Standard 2.0 (gurobi91.netstandard20.dll) or .NET Framework (gurobi91.NET.dll). Again, you must ensure that your program can use it.
You may need additional compression tools such as 7-Zip, gzip, or bzip2 installed on the system if you want to read and/or write compressed files.
Please remember that a license file needs to be acquired for the target machine. If you include the grbprobe and grbgetkey tools, please make sure to also update them alongside the Gurobi libraries.