CPack is the only option of which I am aware that will deliver a (relatively) native experience for each of Windows/Mac/Linux.
Generic Installer - Cross Platform
Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]
Perhaps provide a couple of different systems:
CPack for Win32 setup.exe
RPM for Linux
Deb for Linux
DMG for Mac OS X
Then... (because some players cannot have admin rights) provide a .zip for Win32 and a .tar.gz for more exotic Linux distros.
The difficulty with Linux is library versions so make sure to statically compile, or provide a bunch of .o files and provide a script to link them against their current version of libraries the first time they run it.
These 4 setup types can be scripted pretty easily and added to your build pipeline without much trouble. Basically it is pretty much on par with creating an APK for Android, a bit fiddly but once it is done, should keep on working (for a while ;)
My experience has taught me that many Linux / BSD users are able to extract (and often prefer) a simple relocatable .tar.gz file as a method of installation since it doesn't risk conflicting with system files.
Mutiny - Open-source C++ Unity re-implementation.
Defile of Eden 2 - FreeBSD and OpenBSD binaries of our latest game.
CPack for Win32 setup.exe
RPM for Linux
Deb for Linux
DMG for Mac OS X
Then... (because some players cannot have admin rights) provide a .zip for Win32 and a .tar.gz for more exotic Linux distros.
All of these options are covered by CPack. And I'd use CPack with WIX to create a more modern .msi instead of a setup.exe.
Okay,
Thanks to everyone
Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.
by Clinton, 3Ddreamer
hello,
you can do the following for your own custem-made installer:
1. use an archive library like zlib or ziplib to extract those files
2. turn the files into that format which that archive library understands
3. read that file into a char* variable and bind it into header
for this, you must write a software that reads it, and then copies it into a .h file
4. in your custem installer application, use the streams provided by those libraries to extract those files
5. finally, if your installer depend's on registry, (only in windows), you can write those registries by using windows API functions
this is true for configuration files, which you can use OS api functions or another library to do that for you
for INI configuration files, MinINI is available
when you can't see well like me, you can't test your applications and you can't read something