Skip to content

Improve documentation for local development setup (or the setup itself) #396

@HazNut

Description

@HazNut

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:

  1. Update references to the DoomLauncher folder in LauncherPath.cs and Program.cs to point to a DoomLauncherDev folder.
  2. Create a DoomLauncherDev folder inside AppData\Roaming.
  3. Copy in DoomLauncher.sqlite.
  4. Rename it to something else, so the original file is easily within reach, and won't be used as it's renamed.
  5. Copy it within the folder, and rename that copy to DoomLauncher.sqlite, so we have a copy that can actually be used.
  6. 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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions