After spending yesterday figuring out what exactly was going on to cause my issue and with the help of the previous posts above. And also to help those that come behind and are also installing velociraptor for the first time.
xkcdI initially installed the server with v0.7.0-3. I've been working on this as work permits on and off for awhile.
Then I saw the CVE and upgraded the server to v0.7.0-4.
Over time I realized that clients connected to the server when run from the console using velociraptor --config client.config.yaml client -v.
But not when installed from a msi using the Server.Utils.CreateMSI artifact.
Adding logging to ImagePath in HKEY_LOCAL_MACHINE>SYSTEM>CurrentControlSet>Services showed me something wasn't right. (see above for how to enable logging)
The log file just contained
{"level":"prelog","msg":"Failed to load yaml: unmarshal errors:\n line 36: field level2_writeback_suffix not found in type proto.ClientConfig: C:\\Program Files\\Velociraptor\\/client.config.yaml will try again soon.\n","time":"2023-12-05T17:21:26.4221773Z"}
Over and over and nothing else.
Removing that line from the client config file made made everything work.
Well that's weird. So I opened up and looked at the contents of the msi Server.Utils.CreateMSI created.
And that's when I found that the client config file packaged in the msi was version v.0.7.0-4. (as mentioned above)
But the version of velociraptor packaged in the msi was version .v.0.7.0.
Apparently I messed something up when installing velociraptor on the server initially and/or upgrading to v0.7.0-4.
So I removed everything from the server and reinstalled v0.7.0-4 and re-ran Server.Utils.CreateMSI.
Now when I inspected the msi everything had the correct version and clients connect right up to the server.
So if you're having issues getting clients to talk to the server enable logging and also try checking the contents of the msi if your using Server.Utils.CreateMSI as a start.