Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: gui windows installer + sshnpd service #1217

Open
wants to merge 74 commits into
base: trunk
Choose a base branch
from

Conversation

Xlin123
Copy link
Member

@Xlin123 Xlin123 commented Jul 24, 2024

What I did
Created a windows installer to allow easy & supported installs on windows machines
Created a proper windows service to allow sshnpd to interact with the OS like other windows services.
Programmatically signs the executables in the windows binary as part of the "NoPorts" app, in order to avoid any issues with anti-viruses.

How I did it
I looked into WiX, VS Installer and Inno Setup and all of them are almost impossible to use for our use case... so instead I started to create a WPF App as the installer. The one downside to this is I couldn't get it to compile as a msi... but all the benefits of an msi can be used from the windows C++ dlls' (See ServiceInstaller.cs).

So with that here are some windows features we now support 🤠

  • Event Logging in the Event Viewer
  • sshnpd as a service (with recovery)
  • app uninstalls the windows way
  • registry entry for service configs
  • all executables downloaded from our bundle get signed by the installer
  • service and app descriptions
  • the installer has a self-contained runtime, and is now a lot bigger, 169MB..

NEW OF SEPT 22

  • Onboarding
  • Enrollment
  • Approve/Deny

** How to verify it**
I'll build it once I'm done and throw it in here probably.

Important Note
Create a directory in C:\Program Files\NoPorts\sshnp\ and place the SshnpdService.exe inside that directory.

The SshnpdService.exe should be inside the windows bundle, but I haven't created a release for it yet.

- Description for the changelog
feat: gui windows installer + sshnpd service

@Xlin123 Xlin123 self-assigned this Jul 24, 2024
@Xlin123 Xlin123 marked this pull request as ready for review August 28, 2024 14:35
XavierChanth
XavierChanth previously approved these changes Sep 11, 2024
Copy link
Member

@XavierChanth XavierChanth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Other than the one concern, lgtm

@XavierChanth
Copy link
Member

Oops... I don't have commit signing setup on Windows.

@XavierChanth XavierChanth changed the base branch from trunk to 1412-add-onboarding-screen-to-npt-flutter October 9, 2024 12:53
@XavierChanth XavierChanth changed the base branch from 1412-add-onboarding-screen-to-npt-flutter to trunk October 9, 2024 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants