AppVeyor deploy.ps1 problem installing TopShelf service

I've been fighting with this all day, and I'm hoping I'm just doing something wrong.
I have a deploy.ps1 that is installing a windows service, then starting it. Specifically it's a TopShelf service, so doing the usual MyService.exe install then MyService.exe start.

Problem is, it's throwing a System.ComponentModel.Win32Exception: The parameter is incorrect upon startup. If I install this manually in powershell it installs and runs fine. However when it's installed via the AppVeyor agent for some reason it does this and may be permissions related. I've tried changing the agent service to run as "Administrator" (not ideal but worth a shot) and it still does it. I am assuming this is related to ServiceController permissions best I can tell which is what TopShelf is calling into.