Open PhilipK opened 3 years ago
So I started taking another look at this tonight, it's a little more complicated than I anticipated but I think I've got it figured out.
The file C:\ProgramData\Battle.net\Agent\product.db
contains everything needed to map installed games; it's not a standard db file from what I can tell, but the parts we care about can be read as plaintext from the very last line of the file.
These are all of my currently installed games, separated by a :
and some sort of byte character, but using Blizzard's own internal nomenclature. It would still take mapping those to both the real title name and the correct launch argument to get working (prometheus == pro, diablo3 == d3, etc). Not the most intuitive method, to be sure. That file also includes the mapping of the two internal name/id and install path. Notably, if a game get's uninstalled the id still remains in this last line.
At this point, I almost think the better idea is to simply allow all possible games to be added as shortcuts, regardless of ownership or install status; there's only 19 different games, with a handful having alternate version (Overwatch, Diablo3 and SC2 have test realm versions for example).
One way to do this might be to scrape the windows registry for for the Uninstaller that gets added to the Add/Remove menu. Just a thought.
On Mon, May 23, 2022, 02:06 Untz64 @.***> wrote:
So I started taking another look at this tonight, it's a little more complicated than I anticipated but I think I've got it figured out.
The file C:\ProgramData\Battle.net\Agent\product.db contains everything needed to map installed games; it's not a standard db file from what I can tell, but the parts we care about can be read as plaintext from the very last line of the file.
[image: image] https://user-images.githubusercontent.com/4042630/169721507-38153686-b39a-47ff-95bc-9397f22db59f.png
These are all of my currently installed games, separated by a : and some sort of byte character, but using Blizzard's own internal nomenclature. It would still take mapping those to both the real title name and the correct launch argument to get working (prometheus == pro, diablo3 == d3, etc). Not the most intuitive method, to be sure. That file also includes the mapping of the two internal name/id and install path. Notably, if a game get's uninstalled the id still remains in this last line.
At this point, I almost think the better idea is to simply allow all possible games to be added as shortcuts, regardless of ownership or install status; there's only 19 different games, with a handful having alternate version (Overwatch, Diablo3 and SC2 have test realm versions for example).
— Reply to this email directly, view it on GitHub https://github.com/PhilipK/BoilR/issues/3#issuecomment-1134026842, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEE7DAKBZFFYZSF5J4OKB3VLLDZJANCNFSM5FHFN4LQ . You are receiving this because you authored the thread.Message ID: @.***>
I had considered that, but didn't want to leave out Mac and Linux if I could help it. But yes, probably a better option than just including all the things.
I haven't looked into identifying which games are installed yet, but for launching the title itself : https://github.com/dafzor/bnetlauncher/issues/22#issuecomment-399788430.
There are also some URI's associated with the launcher, but I don't know if they are working anymore, or what the correct usage would be. Per the Windows registry key
\HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Blizzard Entertainment\Battle.net\Capabilities\URLAssociations
: