Steam says game is suddenly uninstalled. I know it is not
Solution 1:
I'm unsure as to the cause, but there's a couple of ways to fix this:
Click install, point Steam to the existing library location and instead of downloading and reinstalling the whole game, it should say something along the lines of "Discovering existing files for Elite: Dangerous", and it will verify your local files against the current version hosted on Steam. It may take a while to compare ~25GB of files, but ultimately it should realise that everything is there, and identify the game as installed/playable without actually downloading anything. This has always been the case for me.
Find another user who has Elite: Dangerous installed, and get a copy of the following file from them: [steam folder]\SteamApps\appmanifest_359320.acf . This is the app manifest that tells Steam what the status of an "installed" game is, where 359320 is the AppID for Elite: Dangerous. There should be an .acf file for each game you have installed (or downloading). A StateFlags value of "4" in the app manifest means the game is installed and ready to play.
Solution 2:
This has happened to me multiple times. how I fixed it was just too click the install button and it will recognise the existing game files