[SERVER-2903] Need to create separate service install scripts on windows Created: 05/Apr/11  Updated: 06/Feb/23  Resolved: 06/Feb/23

Status: Closed
Project: Core Server
Component/s: Packaging
Affects Version/s: 1.8.0, 1.9.1
Fix Version/s: None

Type: Question Priority: Major - P3
Reporter: Sridhar Nanjundeswaran Assignee: [DO NOT ASSIGN] Backlog - Server Development Platform Team (SDP) (Inactive)
Resolution: Won't Do Votes: 0
Labels: build-later, build-needs-definition, platforms-re-triaged, sdp-backlog-purge
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

Windows


Attachments: PNG File mongos service regedit.PNG     Text File mongos-windows-service.txt    
Issue Links:
Related
is related to SERVER-1589 Add Windows Service support to mongos... Closed
is related to SERVER-4099 Please Provide Windows Mongodb server... Closed
is related to SERVER-4100 Please provide Windows mongodb client... Closed
Assigned Teams:
Server Development Platform
Participants:

 Description   

Currently to install mongod as a service on windows you have to run mongod.exe --install. While this works it would be cleaner to have a separate script/exe that installs the windows service. This needs to be done for mongos.exe also.



 Comments   
Comment by Iryna Zhuravlova [ 16/Nov/22 ]

After a careful backlog refinement, the team decided to close this ticket because of its low priority and limited resource capacity. If you believe that this ticket requires additional attention from the team and should be re-opened, feel free to change the status to "Needs Scheduling" and ping me or @alexander.neben

Comment by Tad Marshall [ 25/Feb/12 ]

Adding links to tickets for MSI files, which could and probably should provide the service installation feature for both mongod.exe and mongos.exe.

Comment by Justin Dearing [ 15/Jan/12 ]

Personally I'm against separating the installer. ntservice.cpp. I think should be compiled into mongos.exe. The exes should be self sufficient since there are no userland utilities to handle this that are built into windows.

Comment by Rasitha Wijesinghe [ 29/Sep/11 ]

When can we expect this feature to be implemented? It makes a lot of sense for mongos to work like mongod in a windows environment and have inbuilt service support. I agree you can separate the "installation" out to a separate exe or script but still the core exe need to "support" running as a service.

Maybe we can setup mongos with the existing logic in mongod so 'service' support will be there right away and then work on a better, cleaner way to separate the installation from mongod and mongos.

Thanks!

Comment by Richard Kreuter (Inactive) [ 14/Jun/11 ]

How I got mongos to run as a service on windows, with a screenshot of what the registry should look like, too.

Comment by Richard Kreuter (Inactive) [ 14/Jun/11 ]

I think this case and SERVER-1589 contradict each other.

Comment by Robert Stam [ 08/Apr/11 ]

What we are doing now is not unusual. Apache, for example, uses -i and -u to install and uninstall itself as a Windows service, just like we do. Apache goes further than we do in supporting -k start/stop, which isn't really needed since the builtin Windows command net start/stop accomplish the same thing.

While what we are doing now is not bad, I do agree that separating the installation of a Windows service out of mognod.exe has benefits: primarily allowing us to work on the installation algorithm without having to rebuild mongod.exe. An example of a pending change to the installation algorithm is that the installed service should be configured to only relaunch itself at most 3 times on failure (to avoid infinite failure loops that create very large log files very rapidly).

Comment by Eliot Horowitz (Inactive) [ 08/Apr/11 ]

Robert, whatever you want to do here.

Comment by Scott Hernandez (Inactive) [ 06/Apr/11 ]

It seems like tying this to the c++ code is the wrong place. We should be able to update the install script without rolling a new binary or release.

Also, the "script" code could be in powershell which already has helpers for doing this at a high level of abstraction, which can also be run remotely, or easily customized by users to setup multiple instances for automated deployments.

I had argued for this when this code was originally put in the server; I think now with mongos and more complicated deploys it is even more import to keep this out of the core server and make it a more transparent and understandable script.

Comment by Sridhar Nanjundeswaran [ 06/Apr/11 ]

Separation of core code from packaging/installation. Would allow us to make changes and release packaging/service install changes without having to release the core binaries. Also would allow us to code this in alternates such as powershell

Comment by Eliot Horowitz (Inactive) [ 06/Apr/11 ]

Why?

Generated at Thu Feb 08 03:01:31 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.