Steam - Verify Integrity of Game Files Deletes All Content

Really disappointed to see this is still an active issue. Pretty terrible user experience.

Just found this …too late…! Now doing a complete re-install!! At 5 Mbits/s :angry:

Followed your link from Steam - bravo!

Yeah, it’s a bit of a pain when you want to run a program like the ‘Bulk Steam Validator’ which goes through your entire library checking to validity (I’ve not used it since my accidental, manual, check of validity)

Steam and MS Store only download and check the integrity of the exe package and the digital ownership package and nothing else than that. The rest of content, including the config files that define the installation path to the official addons (user options file for instance), is created and downloaded by MSFS and by the content manager, not by Steam.

Steam only does what is expected to do and what it does in all games: compare your content with the reference baseline it has. In other games all content is in the baseline. In this one is not. Is MSFS itself the one that handles it. MS/Asobo decided to implement it that way. That allows them to have its own Marketplace for instance, instead of using Steam store.

The problem is not that Steam is deleting you content but that the reference baseline includes an empty packages folder and no config files.

Cheers

Because that references an empty packages folder, it’s essentially deleting the files. The act of deleting is not what Steam is intending to do, but it’s what it’s replacing the Packages folder with. You’re correct, but the end result for the user is identical: all content is now missing and must be redownloaded. It seems there must be a way for Asobo to tell Steam “do not verify this specific folder.” (I mean, I’m sure if it was that simple they’d do it, so I guess I’m saying I wish that was possible.)

3 Likes

Yes, they could use Steam´s userdata folder (where most Steam games store their configs) and create a symlink on C:\Users<username>\AppData instead, which is MSFS default working folder. That would simply delete the symlink in the worse case but not the original contents. All they need to do is to re-create the symlynk upon game launch again in case it´s missing. This is what Aerosoft and ORBX applications do to install content in your Community folder. If the symlink is deleted the original content is still kept in their library and is never lost. A re-syncronization of the library in their application (or disabling and enabling the content in Aerosoft case) generates all symlinks again.

Cheers

1 Like

A little too late but upvoting. Wish i had seen this thread earlier and not wasted 2 days resinstalling everything.

1 Like

yep… we spoke about the CustomInstaller.exe , etc… at least a “Warning with a Yes/no” should possible. But I fear in meanwhile, we are lost on this front :wink:

Your technical analysis is probably spot on (I’m a web dev, not a game dev so I haven’t touched Steam from a publishing standpoint). However, I will say this…

Whatever the technical cause, MSFS behaves in a way that subverts users expectations. This will always be a problem because users have to reacquire everything rather than just some things, and because MSFS is massive that means anyone with low bandwidth, a small amount of time, or a data cap (really ISPs? It’s the 2020s) will suffer more than most of us.

Worse still, Microsoft who has one of the largest cloud platforms Azure, are either cheating out on their CDN, outbound bandwidth and/or their installer is still so trash that those of us who have a good network connection can still spend hours installing everything - a pretty poor user experience for those who rightly expected Steam to reacquire only the corrupted files.

2 Likes

The behaviour is just the result of the selected implementation. Steam is not doing anything wrong here and therefore I would not call this a bug. If Steam only knows about the game launcher because that´s what is included in the baseline they sent to Steam it can´t do anything else. In other games DLCs are part of the game baseline as well as soon as you purchase them and are installed in a path which is also known by Steam. Then Steam verifies both the game contents and the DLCs and this problem is not happening.

In this game any content, even the standard game files (scenery, airplanes, etc), is unknown for Steam because content is downloaded by the game launcher and by content manager afterwards. In addition to that the configuration files (the ones installed in AppData\Local\Packages\Microsoft.FlightSimulator_8wekyb3d8bbwe) contain the installation path for all content (at the end of UserCfg.opt) and other files that define what game launcher has already installed, but those files are not existing on a fresh installation because they are created by game launcher upon the first game launch. Therefore Steam can´t restore those files either. This could be done by the Xbox cloud sync feature for instance (the one that restores you game settings and controller settings in that configuration pack) or by the Steam cloud sync as well, because Steam also supports the backup of config files on the cloud in many games.

What Steam does during cloud sync is very similar to what Xbox app does too, and is to ask user if he/she wants to restore a backup of the settings and even savegames from the cloud and imports the content in the Steam game ID folder directly, and that´s defined by a unique set of numbers which is the same for everybody (similar to the MSFS case too). But that folder is not affected by the verification process and therefore does not belong to the game baseline which Steam has to compare with your local files. Maybe MSFS could use the existing Xbox app cloud sync to do the same thing with all config files as well except the Packages and Community folders themselves (to have just a backup in the range of MB instead of GB) and just ask user to confirm the installation path on the first game launch (as it does already when a new patch is released). That would be maybe another possible solution.

They made things too complex in my opinion but there must be a reason behind that I guess.

Cheers

yep… Steam not :wink: and I assume Steam also not developed the responsible installer which give users an absolut uncommon behavior.

No Steam user expect that with click on “verify” you have to reinstall the whole game. What I expect is, that the “verify” check the “installed executable” ( these 1.x GIG ). If these “click on verify” cause a removal of 100Gig or more, then I expect a warning. I have no problem that steam can not verify content which comes not in the way over steam on my disc, but I have a problem to wait after such an click 24hours and more that I can user the game again.

“Verify” is Verify and not Reinstall.

And I forgot to mentioned:
you can not compare MS-Store install paths with Steam install paths. There are some things special made for steam, also app-data is a different folder / structure. So, they have allready implemented something different ( of configured in a different way ).

EDIT: and LOL

https://partner.steamgames.com/doc/sdk/installscripts

the installer script is nothing else, as the simplest exampe from steam sdk.

BUT, the warning is completely ignored:

Run Process on Uninstall
Wenn Sie bei der Deinstallation Ihrer App einen Prozess ausführen müssen, fügen Sie ihn dem Installationsskript hinzu. Deinstallieren Sie keine gängigen Redistributables wie DirectX, msvc-Runtime usw., da diese wahrscheinlich von anderen Spielen verwendet werden. Dieses Verfahren ist lediglich für spielspezifische Deinstallationsprozesse gedacht.
HINWEIS: „Run Process On Uninstall“ wird auch aufgerufen, wenn ein Benutzer die Anwendung in Steam verifiziert. Führen Sie keinen Prozess aus, der alle Dateien löscht, da dies dazu führt, dass Steam während einer Verifizierung alles erneut herunterlädt.
“InstallScript”
{
“Run Process On Uninstall”
{
“Process_name”
{
“Process 1” “process.exe”
“Command 1” “/command”
}
}
}

I not know whether this side is in english to, therefore the important sentence:

NOTE: “Run Process On Uninstall” is also invoked when a user verifies the application in Steam. Do not run a process that deletes all files as this will cause Steam to re-download everything during a verification.

and exactly that do the current script

“InstallScript”
{
“Run Process On Uninstall”
{
“CustomInstaller”
{
“process 1” “%INSTALLDIR%\InstallUtils\CustomInstaller.exe”
“command 1” “/clean STEAM "Microsoft Flight Simulator"”
}
}
}

1 Like

I’d agree that it’s ‘not doing anything wrong’ if only it’s based on my own Steam account that has 500+ games* and MSFS is the first game to date, at least in my experience, to exhibit this ‘phenomena’.
*18 years of gaming on Steam

1 Like

No, Steam is not doing anything wrong.
No, it’s not technically a bug.

Unfortunately, the simplest way for this to be fixed is by Microsoft / Asobo putting a decision prompt in their custom executable that they supply with the purpose of deleting files. Likely the only way this is going to happen in this democratic development system is by creating a voting thread somewhere on the forum and it getting over a thousand votes.

1 Like

we reached 99 … sounds near by … for my grandchild’s :joy:

1 Like

@MichaMMA My response is supposed to be a reply to @geloxo to clarify that it’s a result of files MS provide with the intent of deleting the game files because I’m not sure if they grasped that. I seem to have issues with the reply to post function, which I believe has a workaround but I forget sometimes.

In any case, I was aware this is a voting thread. Part of the point was it’s unfortunate that we have to rely on votes for technical issues that could have a resolution implemented quite easily. The system as is would be fine, with one minor change to their custom program to introduce a decision prompt like nearly every uninstaller in the history of software has.

I think I understood your point, I’am also not so happy about that problem and why it is ( see posts before ). The “99…grandchild’s” was meant more as sarcasm like “how long we must wait if only votes count”. I hope there is not only a priorization by votes. I fear more like that “Steam” have not the highest Prio for an MS Game :wink:

yep… forum issue… use “Quote” instead and remove possible uneseccary quoted text :slight_smile:

This is correct. I had to download 2 times as steam verification deleted all files. Only the second time I realized it was Steam. Now downloaded again but the sim cannot load completely and crashes every time. To desktop. Asobo or STEAM, both are responsible. This simulator is not for flying but for solving problems and never ending issues…

I’m guessing this is still very much a thing?

I am unable to get the simulator to launch, and I want to rule out a corrupted file; however, I’m very hesitant to press this button because I don’t want to be unable to use my computer for half a day while reinstalling the simulator from the ground up.

1 Like

I just ran verify and it did not delete any of my downloaded content.

However the game still won’t let me use DLSS with my 4090! So frustrated with Microsoft. Windows and MSFS feel very cobbled together. Also I can’t find any way to post a new thread in this forum. Any tips?