From a command prompt and the directory where cygrunsrv.exe is, make transmission a service.
EXAMPLE:
cygrunsrv --install transmissionbt --path j:\T\transmission-2.77+-TESTing\transmission-try3\transmission-daemon.exe
.
If you receive an error like:
cygrunsrv: Error installing a service: OpenSCManager: Win32 error 5:
Then you need to run command prompt elevated or as administrator.
See additional post below -- 02/19/2014
.
.
.
See the cygrunsrv.README file for more details:
Install a service:
cygrunsrv --install svc_name --path /cygwin/style/path/to/daemon.exe
.
.
.
.
Next set the environment variables for HOME and TRANSMISSION_WEB_HOME
.
If you don't know how to access environment variables see the additional new post below 02/19/2014
.
You'll probably use [New] to create these system variables unless you previously created them.
HOME
example: j:\T\transmission-2.77+-TESTing\transmission-try3
I followed these instructions to the letter and the service doesn't start when I restart windows. When i try and run the service from 'Services' I get this message "The Transmission serice on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs." Not sure what could be causing this.
My Environment variables are
HOME
C:\TransmissionDaemon\transmission-executables\transmission
If you receive an error like:
cygrunsrv: Error installing a service: OpenSCManager: Win32 error 5:
.
Then you need to run command prompt elevated or as administrator.
You'll need to have administrator rights enabled for the account your using too.
To complete these procedures, you must be a member of the Administrators group.
Start --> [search] programs and files --> cmd
right click the cmd.exe program and choose "Run As Administrator"
I have transmission-daemon running as a service on Windows Server 2012 R2. It runs under the System account and I would like to run it under a restricted user.
Changing the cyqrunsrv user (Services) to another account that has the right privileges to run as a service and access all the necessary transmission files/directories, gives an error on startup. The eventlog shows "transmissionbt: PID 5192: service `transmissionbt' failed: signal 11 raised". The daemon is not started. I have not found a clear cue on with signal 11 means.
Where to look for troubleshooting?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
signal 11 is a segmentation crash usually due to memory access or the like. I think that somewhere there is access issue with your restricted user setup and transmission.
You can try a different version of cygrunsrv, I've put v1.4 and 1.5 in the files. The 32 bit 1.4 will run fine in 64bit if that's what you are using.
Monday, March 24, 2014
Running Transmission as a Windows service
I've recently updated my netbook server to a full-blown core i3 system with Windows 8.1. Transmission, the torrent client of my choice, can be very easily installed under windows as a service.
Follow these steps:
Download the client and cygrunsrv (both .zip). from: http://sourceforge.net/projects/transmissiondaemon/files/
Extract the transmission executables to a folder (in my case c:\apps\transmission)
Extract cygrunsrv to the same folder
Starts a command prompt as administrator and go to the transmission directory (cd c:\apps\transmission)
Execute cygrunsrv --install TransmissionBT --path c:/Apps/transmission/transmission-daemon.exe -a "--pid-file transmission-daemon.pid --foreground" -e HOME=c:/Apps/transmission/ -e TRANSMISSION_WEB_HOME=c:/Apps/transmission/web --stdout c:/Apps/transmission/log/transmissionbt.log --stderr c:/Apps/transmission/log/transmissionbt.error.log
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Thanks for all the additional info!
I started from scratch (new Domain, sever, etc.). Still not operational, but there are a few steps left to check. I'll report back when I know more...
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
If you have spaces in your path and are using a specific dir for the settings.json, (-g option) , here is my cygrunsrv command to create the service... took a bit of tweaking to make it to work because of the spaces and double double quotes.
hello, the above worked great on Windows 8.1. Now the daemon is running and i'm able to access it via Transmission GUI on the local computer. However, when trying to access via remote GUI from another computer in the same network the connection keeps timing out. I have the correct IP and port. Checked settings in the settings.json. Also made sure whitelist is set to false. Also allowed the service transmissionbt through the windows firewall. Any ideas? Thanks!
When I go to Taskmanager I see "cygrunsrv.exe" running in "Details" and "TransmissionBT" running in services.
Of note, it seems the "settings.json" is located both in C:\apps\transmission.config\transmission-daemon (where I extracted "transmission-executables" folder and C:\Users[username]\AppData\Roaming\transmission.
EDIT: Got it to work. Windows firewall settings were messed up. btw, why do I have to settings.json? do i need both? thanks!
Last edit: blahblah234 2015-03-30
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
btw, why do I have to settings.json? do i need both?
Sometimes depends on what specifically you are trying to accomplish but it doesn't need to overly complicated. ex. https://trac.transmissionbt.com/wiki/EditConfigFiles#RPC
You need both set up correctly to have it all work, as you've done.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Have another question for you guys. How do I update the daemon to a newer version? I saw instructions for how to do it in Ubuntu and stuff but not for Windows. Can I stop the daemon and copy the new files over and just save the settings.json file? Thanks!
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Download the client and cygrunsrv (both .zip). from: http://sourceforge.net/projects/transmissiondaemon/files/
Extract the transmission executables to a folder (in my case c:\apps\transmission)
Extract cygrunsrv to the same folder
Starts a command prompt as administrator and go to the transmission directory (cd c:\apps\transmission)
Execute cygrunsrv --install TransmissionBT --path c:/Apps/transmission/transmission-daemon.exe -a "--pid-file transmission-daemon.pid --foreground" -e HOME=c:/Apps/transmission/ -e TRANSMISSION_WEB_HOME=c:/Apps/transmission/web --stdout c:/Apps/transmission/log/transmissionbt.log --stderr c:/Apps/transmission/log/transmissionbt.error.log
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
First download http://sourceforge.net/projects/transmissiondaemon/files/cygrunsrv-1.40-1/cygrunsrv-1.40-1.zip/download then copy the cygrunsrv.exe file to the same directory as transmission-daemon.exe and cygwin1.dll
For the 64 bit version of Transmission you can use http://sourceforge.net/projects/transmissiondaemon/files/cygrunsrv-64bit-v1.50-1/cygrunsrv-1.50-1-x64.zip/download
From a command prompt and the directory where cygrunsrv.exe is, make transmission a service.
EXAMPLE:
cygrunsrv --install transmissionbt --path j:\T\transmission-2.77+-TESTing\transmission-try3\transmission-daemon.exe
.
If you receive an error like:
cygrunsrv: Error installing a service: OpenSCManager: Win32 error 5:
Then you need to run command prompt elevated or as administrator.
See additional post below -- 02/19/2014
.
.
.
See the cygrunsrv.README file for more details:
Install a service:
cygrunsrv --install svc_name --path /cygwin/style/path/to/daemon.exe
.
.
.
.
Next set the environment variables for HOME and TRANSMISSION_WEB_HOME
.
If you don't know how to access environment variables see the additional new post below 02/19/2014
.
You'll probably use [New] to create these system variables unless you previously created them.
HOME
example: j:\T\transmission-2.77+-TESTing\transmission-try3
.
.
.
TRANSMISSION_WEB_HOME
example: j:\T\transmission-2.77+-TESTing\transmission-try3\web
.
.
.
Reboot the computer and you will see transmission running as a service
transmission-daemon
.
.
.
The cygrunsrv.README really is quite helpful.
.
Last edit: cfp p2p 2014-02-19
I followed these instructions to the letter and the service doesn't start when I restart windows. When i try and run the service from 'Services' I get this message "The Transmission serice on Local Computer started and then stopped. Some services stop automatically if they are not in use by other services or programs." Not sure what could be causing this.
My Environment variables are
HOME
C:\TransmissionDaemon\transmission-executables\transmission
TRANSMISSION_WEB_HOME
C:\TransmissionDaemon\transmission-executables\transmission\web
and these are System Variables. Is this correct?
I'm using windows 10 if this makes a difference!
Ignore me, everything works fine, I expected the service to show as running, which it doesn't, but Transmission still works fine!
If you receive an error like:
cygrunsrv: Error installing a service: OpenSCManager: Win32 error 5:
.
Then you need to run command prompt elevated or as administrator.
You'll need to have administrator rights enabled for the account your using too.
To complete these procedures, you must be a member of the Administrators group.
Start --> [search] programs and files --> cmd
right click the cmd.exe program and choose "Run As Administrator"
for more:
google --> elevated command prompt
http://technet.microsoft.com/en-us/library/cc947813%28v=ws.10%29.aspx
.
.
.
.
To access environment variables:
control panel --> system --> advanced system settings --> environment variables
Or Start --> [search] programs and files --> environment
and choose "edit the system environment variables"
.
Last edit: cfp p2p 2014-03-05
I have transmission-daemon running as a service on Windows Server 2012 R2. It runs under the System account and I would like to run it under a restricted user.
Changing the cyqrunsrv user (Services) to another account that has the right privileges to run as a service and access all the necessary transmission files/directories, gives an error on startup. The eventlog shows "transmissionbt: PID 5192: service `transmissionbt' failed: signal 11 raised". The daemon is not started. I have not found a clear cue on with signal 11 means.
Where to look for troubleshooting?
signal 11 is a segmentation crash usually due to memory access or the like. I think that somewhere there is access issue with your restricted user setup and transmission.
You can try a different version of cygrunsrv, I've put v1.4 and 1.5 in the files. The 32 bit 1.4 will run fine in 64bit if that's what you are using.
For a related post on setting permission see: https://sourceforge.net/p/transmissiondaemon/discussion/general/thread/3bd8bdda/
Also try: ( from http://sameproblemmorecode.blogspot.com/ March 24, 2014 post, scroll down the page a little )
Thanks for all the additional info!
I started from scratch (new Domain, sever, etc.). Still not operational, but there are a few steps left to check. I'll report back when I know more...
ping -> list top
topic = most popular
If you have spaces in your path and are using a specific dir for the settings.json, (-g option) , here is my cygrunsrv command to create the service... took a bit of tweaking to make it to work because of the spaces and double double quotes.
cygrunsrv --install TransmissionBT --path "D:/Program Files (x86)/TransmissionDaemon/transmission-daemon.exe" -a "-g 'D:/Program Files (x86)/TransmissionDaemon' --logfile transmission-log.txt --pid-file transmission-daemon.pid --foreground" -e HOME="D:/Program Files (x86)/TransmissionDaemon" -e TRANSMISSION_WEB_HOME="D:/Program Files (x86)/TransmissionDaemon/web" --stdout "D:/Program Files (x86)/TransmissionDaemon/transmissionbt.log" --stderr "D:/Program Files (x86)/TransmissionDaemon/transmissionbt.error.log"
Last edit: robnitro 2014-09-18
I worked it to this and it what I wanted, thank you
hello, the above worked great on Windows 8.1. Now the daemon is running and i'm able to access it via Transmission GUI on the local computer. However, when trying to access via remote GUI from another computer in the same network the connection keeps timing out. I have the correct IP and port. Checked settings in the settings.json. Also made sure whitelist is set to false. Also allowed the service transmissionbt through the windows firewall. Any ideas? Thanks!
When I go to Taskmanager I see "cygrunsrv.exe" running in "Details" and "TransmissionBT" running in services.
Of note, it seems the "settings.json" is located both in C:\apps\transmission.config\transmission-daemon (where I extracted "transmission-executables" folder and C:\Users[username]\AppData\Roaming\transmission.
EDIT: Got it to work. Windows firewall settings were messed up. btw, why do I have to settings.json? do i need both? thanks!
Last edit: blahblah234 2015-03-30
btw, why do I have to settings.json? do i need both?
Sometimes depends on what specifically you are trying to accomplish but it doesn't need to overly complicated. ex. https://trac.transmissionbt.com/wiki/EditConfigFiles#RPC
You need both set up correctly to have it all work, as you've done.
Hello,
I'm going a bit mad trying to get this to work. No matter what I do I get the following error.
Can anyone point me in the right direction please?
cygrunsrv.exe - Application Error
The application was unable to start correctly (0xc000007b). Click OK to close the application.
OK
Disregard...I had a mismatch of x86 and x64 files.
Have another question for you guys. How do I update the daemon to a newer version? I saw instructions for how to do it in Ubuntu and stuff but not for Windows. Can I stop the daemon and copy the new files over and just save the settings.json file? Thanks!
Just stop the daemon https://sourceforge.net/p/transmissiondaemon/discussion/general/thread/b4eea1a5/, overwrite all the files from that of the current release. settings.json will automatically update itself when you restart the daemon. If you have any difficulties let me know.
For any newbies having difficulty with this I found this code on the following website very helpful: http://sameproblemmorecode.blogspot.com/2014/03/running-transmission-under-windows-as.html
Follow these steps:
Download the client and cygrunsrv (both .zip). from: http://sourceforge.net/projects/transmissiondaemon/files/
Extract the transmission executables to a folder (in my case c:\apps\transmission)
Extract cygrunsrv to the same folder
Starts a command prompt as administrator and go to the transmission directory (cd c:\apps\transmission)
Execute cygrunsrv --install TransmissionBT --path c:/Apps/transmission/transmission-daemon.exe -a "--pid-file transmission-daemon.pid --foreground" -e HOME=c:/Apps/transmission/ -e TRANSMISSION_WEB_HOME=c:/Apps/transmission/web --stdout c:/Apps/transmission/log/transmissionbt.log --stderr c:/Apps/transmission/log/transmissionbt.error.log