Links to games created by Windows when delphi projects create exes with specific names
Asked Answered
N

1

10

I have a Delphi project called VR that produces an executable named VR.exe. To my dismay I discovered Windows (I am running Window 7 64 bit Ultimate) has added links to the start menu and under games: Search & Rescue: Vietnam MED+EVAC. The icons for the links are the default delphi app icon.

Did a bit of research and I found this post:

http://social.technet.microsoft.com/Forums/windows/en-US/a5919fc1-db3d-4f13-b241-d059df2bf11f/renaming-a-file-into-vrexe

How can I prevent windows from doing this?

Update: I have another project MM, which produces mm.exe. This one created a link to the Steam Dark Messiah Might and Magic Single Player.

Another update: We submitted a support request to Microsoft. They acknowledged it is a bug, however, they failed to provide a timeline for a fix.

Update: This is the answer from Microsoft:

I am writing to inform you that this issue is reproducible at our end and we have been reported regarding this in past as well. Since this is already identified as “By design” with our code and to this point we do not have a resolution on this, there’s not much I would be able to help with. However, if you have any points that you would like to bring to our knowledge like how it is impacting business or any other concerns , do let me know.

I accepted Remy's answer.

Newspaperman answered 4/4, 2014 at 19:3 Comment(15)
Funky. +1 - I've never heard of this before.Belgrade
This is not related to Delphi, nor programming in general. However, interesting issue.Sidneysidoma
@TLama: I was afraid someone here will say that. I disagree with you. It is related to programming because my programming actions lead to a totaly unrelated issue. From this others should learn not to name their Delphi projects with names such as VR, MM and who knows what else.Newspaperman
No, it's not related to programming. It's strictly an operating system question. (Nothing you change in Delphi code or the IDE other than your project name is going to have an effect on this problem.) It is still an interesting issue, as @Sidneysidoma said, but it is clearly not a programming issue. It's an issue with Windows automatically connecting executable names with registered games, which is an OS bug. (For the record, I did not vote to close, even though it is off-topic here.)Bel
@costa, it's enough to run any executable named that way. At most is this language agnostic, if you still think it's a programming question. Do what you want, but I think you might get better help on Super User rather than here.Sidneysidoma
@TLama: I see your points and I actually knew the gods of SO will smite me with their logic of iron, however, I decided to post it here because programmers produce executables and it is more likely that a programmer will come across this issue. It is on the edge for sure. If you want to close it, go ahead, I don't care.Newspaperman
Quite seriously, this is better on a different site. If you want help you'll follow this advice.Raymund
ok, I will post it on superuser.Newspaperman
I posted it here: superuser.com/questions/737827/…. Now, do I delete this one or you can close it. And, btw, I don't think anyone will have any answer to this. Microsoft should fix it... It think it is unacceptable.Newspaperman
Dunno, it might be programming related if, for instance, it is possible to resolve by RemoveGame from IGameExplorer.Dolichocephalic
@Sertac, every time you run your application ? And what if you'll have that game really installed ?Sidneysidoma
@Sidneysidoma - I don't know the answer to any of your questions. I just showed why/how it can be programming related.Dolichocephalic
@Sertac, I see your point, but more I would believe e.g. on a code signing certificate. But well, from that perspective it might be related to programming (I've already retracted my close vote). Still, it's an obvious Windows bug, because who would ever want to identify an application by executable name. costa, although I agree it's unacceptable, I would just choose a more explanatory name for the application. Having projects and their outputs named like VR or MM is not much comfortable anyway :)Sidneysidoma
@TLama: I already renamed the projects.Newspaperman
@Sidneysidoma - I think you're right on both accounts. It is easier to resolve by non-programming means. And, quite a stupid way to detect an application.Dolichocephalic
D
6

According to MSDN, game apps are supposed to integrate themselves into Game Explorer, Windows should not be integrating anything automatically. But I can confirm on a Win7 Home system that renaming any app to vr.exe and then running it causes Search & Rescue: Vietnam MED+EVAC to appear in Games Explorer (there was also a very noticeable delay when the app is run for the first time, which I imagine is due to the recognition/integraton taking place).

After running the app, I found the following Registry key associated with that game:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\S-1-5-21-991038988-4040401710-2535580036-1000\{2A051900-E642-4D69-8D4E-1B3A2FD42CCF}

It contains a reference to this file

C:\Windows\system32\GameUXLegacyGDFs.dll

I looked at the file contents with a resource viewer, and see it is full of RC_DATA resources containing GDF game definitions.

I deleted the Registry key, and now the game no longer appears in Games Explorer, no matter how many times I run the renamed vr.exe file.

Dianoia answered 4/4, 2014 at 21:31 Comment(2)
The question is then, how removing of this registry key interferes with the real Search & Rescue: Vietnam MED+EVAC game registration in the Game Explorer (installed before, or after this removal). I know, it is a corner case, but still... [+1]Sidneysidoma
The registry key I removed is for Microsoft's legacy detection of the game. I would expect the real game to register itself properly using its own DLL, and maybe even a different GUID.Dianoia

© 2022 - 2024 — McMap. All rights reserved.