I've contributed a little bit to Doom Launcher recently, however have run into minor issues when running through Visual Studio 2022, in what I think is the default configuration with the debugger attached:
- By default it seems to try and use
AppData\Roaming\DoomLauncher - what you would expect from the actual release version, so not necessarily unexpected.
- It also requires
DoomLauncher.sqlite to be in that directory.
The first point is the main problem - having already installed DoomLauncher, running the latest development version caused updates to the database that was for personal use, due to database migrations or whatever is being used (haven't really dug into it). Been a while since I had this issue, but think it caused an error around a missing IsDoom64 column that the latest release version was expecting. I guess it could just be a case of being more careful before running the app, but it was a bit of a surprise to me at least.
Thanks to the recommendation of SQLite Browser in README.adoc, I was able to fix things - I'm aware that Doom Launcher keeps backups of the database, but don't think the latest one was quite up to date from what I remember, so I had to manually fix the database.
My workaround to run things locally has been something like this:
- Update references to the
DoomLauncher folder in LauncherPath.cs and Program.cs to point to a DoomLauncherDev folder.
- Create a
DoomLauncherDev folder inside AppData\Roaming.
- Copy in
DoomLauncher.sqlite.
- Rename it to something else, so the original file is easily within reach, and won't be used as it's renamed.
- Copy it within the folder, and rename that copy to
DoomLauncher.sqlite, so we have a copy that can actually be used.
- Run it with the debugger attached.
Whenever I wanted a fresh run, I'd delete all files inside DoomLauncherDev, apart from the untouched, renamed .sqlite file, and carry out step 5 and 6 again.
I'm more of a .NET Core developer in web apps, so I'm not really sure what best practices are for local dev setup for a desktop app, I could totally be missing something that's more obvious to people who have been more involved on the project, so let me know if I am! If so, could be good to document it, or if not, consider something like having a local settings file specifically for development that overrides the path, or maybe don't use AppData at all, considering there seems to be a portable version of Doom Launcher available to download in the latest release.
I've contributed a little bit to Doom Launcher recently, however have run into minor issues when running through Visual Studio 2022, in what I think is the default configuration with the debugger attached:
AppData\Roaming\DoomLauncher- what you would expect from the actual release version, so not necessarily unexpected.DoomLauncher.sqliteto be in that directory.The first point is the main problem - having already installed DoomLauncher, running the latest development version caused updates to the database that was for personal use, due to database migrations or whatever is being used (haven't really dug into it). Been a while since I had this issue, but think it caused an error around a missing
IsDoom64column that the latest release version was expecting. I guess it could just be a case of being more careful before running the app, but it was a bit of a surprise to me at least.Thanks to the recommendation of SQLite Browser in
README.adoc, I was able to fix things - I'm aware that Doom Launcher keeps backups of the database, but don't think the latest one was quite up to date from what I remember, so I had to manually fix the database.My workaround to run things locally has been something like this:
DoomLauncherfolder inLauncherPath.csandProgram.csto point to aDoomLauncherDevfolder.DoomLauncherDevfolder insideAppData\Roaming.DoomLauncher.sqlite.DoomLauncher.sqlite, so we have a copy that can actually be used.Whenever I wanted a fresh run, I'd delete all files inside DoomLauncherDev, apart from the untouched, renamed .sqlite file, and carry out step 5 and 6 again.
I'm more of a .NET Core developer in web apps, so I'm not really sure what best practices are for local dev setup for a desktop app, I could totally be missing something that's more obvious to people who have been more involved on the project, so let me know if I am! If so, could be good to document it, or if not, consider something like having a local settings file specifically for development that overrides the path, or maybe don't use AppData at all, considering there seems to be a portable version of Doom Launcher available to download in the latest release.