fpilote
04-22-2009, 09:57 AM
As for the context of developping online games, we always need to know that a player has the last available game (software) version.
So we need to force him/her into updating his game each time he/she runs the program.
Setting the update.exe as the "game launcher" on the desktop is not enough. Any smart kid will find a way around the updater and direcltly launch the game executable thus, bypassing the update process.
Also, launching the update.exe via C++ and ShellExecute will bring other problems. A common one is that if "update.exe" updates itself, it will automatically restart himself making the ShellExecute function terminate. The program (game) will see this as a the updater closed or crashed. In other words, the player will have to restart the game so the update process can be done. (Vista will also complain about this telling that game.exe is trying to launch update.exe, which is normal for our game but maybe not normal for the user)
In my opinion, the best way to fix those issues is to let the application build with the TrueUpdate Client SDK with the form of a SDK. We could be able to run the update process via C++/C# code and keep using the .dat file.
So, if we link to the TrueUpdate Client as a Static Library, this will create a "single point of access" to our game, thus making it impossible for the user to bypass the update process.
Thanks!
So we need to force him/her into updating his game each time he/she runs the program.
Setting the update.exe as the "game launcher" on the desktop is not enough. Any smart kid will find a way around the updater and direcltly launch the game executable thus, bypassing the update process.
Also, launching the update.exe via C++ and ShellExecute will bring other problems. A common one is that if "update.exe" updates itself, it will automatically restart himself making the ShellExecute function terminate. The program (game) will see this as a the updater closed or crashed. In other words, the player will have to restart the game so the update process can be done. (Vista will also complain about this telling that game.exe is trying to launch update.exe, which is normal for our game but maybe not normal for the user)
In my opinion, the best way to fix those issues is to let the application build with the TrueUpdate Client SDK with the form of a SDK. We could be able to run the update process via C++/C# code and keep using the .dat file.
So, if we link to the TrueUpdate Client as a Static Library, this will create a "single point of access" to our game, thus making it impossible for the user to bypass the update process.
Thanks!