# Nuitka-winsvc User Manual
  
Nuitka-winsvc is a forked version of Nuitka, it supports compiling EXE as a Windows service.
## Install
You can install Nuitka-winsvc by pip:
```shell
pip install nuitka-winsvc
```
## Usage
In addition to supporting all the command line arguments of Nuitka, Nuitka-winsvc also provides 7 additional arguments for compiling the Windows services:
- `--windows-service`
Enable Windows service mode, works only when compiling for Windows and **onefile** mode enabled.
- `--windows-service-name`
Name of the Windows service. If not provided, the target program name will be used as the service name.
- `--windows-service-display-name`
Display name of the Windows service. If not provided, the product name will be attempted to use.
- `--windows-service-description`
Description of the Windows service. If not provided, the file description will be attempted to use.
- `--windows-service-cmdline`
Additional command line arguments that will be passed to the service, such as `--config config.json --output output.log` .
- `--windows-service-install`
Windows service installation command-line argument. Default value is `install` .
- `--windows-service-uninstall`
Windows service uninstallation command-line argument. Default value is `uninstall` .
Use the following command to build a Windows service:
```shell
python -m nuitka --onefile --output-dir=build --windows-service --windows-service-name=myservice --windows-service-display-name="My Service" --windows-service-description="This is the description of my service" --windows-service-cmdline="-c config.yml -o output.log" --windows-service-install=install --windows-service-uninstall=uninstall main.py
```
When the python program is compiled successfully, you can use the following command to install the service:
```shell
.\main.exe install
```
Also you can use the following command to uninstall the service:
```shell
.\main.exe uninstall
```
Note: Administrator privileges is required when installing and uninstalling the Windows services. You should run the above commands as administrator.
The compiled EXE executable file can be run both as a Windows service and as a regular Windows program. However, it is important to note that the Windows service installation and uninstallation command-line arguments which specified by `--windows-service-install` and `--windows-service-uninstall` of Nuitka-winsvc compilation arguments will override the original behavior of the program. Therefore, the compiled Python program should avoid using the same command line arguments.
Raw data
{
"_id": null,
"home_page": "https://github.com/tabris17/Nuitka-winsvc",
"name": "Nuitka-winsvc",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "windows service, compiler, python, nuitka",
"author": "tabris17",
"author_email": "tabris17.cn@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/b0/af/60381cadbd24de1a7a6f96f5a3bdd3bea6659d4cbc40629f5ee3286295a8/nuitka_winsvc-2.7.12.tar.gz",
"platform": null,
"description": "# Nuitka-winsvc User Manual\r\r\n\r\r\n  \r\r\n\r\r\nNuitka-winsvc is a forked version of Nuitka, it supports compiling EXE as a Windows service.\r\r\n\r\r\n## Install\r\r\n\r\r\nYou can install Nuitka-winsvc by pip:\r\r\n\r\r\n```shell\r\r\npip install nuitka-winsvc\r\r\n```\r\r\n\r\r\n## Usage\r\r\n\r\r\nIn addition to supporting all the command line arguments of Nuitka, Nuitka-winsvc also provides 7 additional arguments for compiling the Windows services:\r\r\n\r\r\n- `--windows-service`\r\r\n Enable Windows service mode, works only when compiling for Windows and **onefile** mode enabled.\r\r\n- `--windows-service-name`\r\r\n Name of the Windows service. If not provided, the target program name will be used as the service name.\r\r\n- `--windows-service-display-name`\r\r\n Display name of the Windows service. If not provided, the product name will be attempted to use.\r\r\n- `--windows-service-description`\r\r\n Description of the Windows service. If not provided, the file description will be attempted to use.\r\r\n- `--windows-service-cmdline`\r\r\n Additional command line arguments that will be passed to the service, such as `--config config.json --output output.log` .\r\r\n- `--windows-service-install`\r\r\n Windows service installation command-line argument. Default value is `install` .\r\r\n- `--windows-service-uninstall`\r\r\n Windows service uninstallation command-line argument. Default value is `uninstall` .\r\r\n\r\r\nUse the following command to build a Windows service:\r\r\n\r\r\n```shell\r\r\npython -m nuitka --onefile --output-dir=build --windows-service --windows-service-name=myservice --windows-service-display-name=\"My Service\" --windows-service-description=\"This is the description of my service\" --windows-service-cmdline=\"-c config.yml -o output.log\" --windows-service-install=install --windows-service-uninstall=uninstall main.py\r\r\n```\r\r\n\r\r\nWhen the python program is compiled successfully, you can use the following command to install the service:\r\r\n\r\r\n```shell\r\r\n.\\main.exe install\r\r\n```\r\r\n\r\r\nAlso you can use the following command to uninstall the service:\r\r\n\r\r\n```shell\r\r\n.\\main.exe uninstall\r\r\n```\r\r\n\r\r\nNote: Administrator privileges is required when installing and uninstalling the Windows services. You should run the above commands as administrator.\r\r\n\r\r\nThe compiled EXE executable file can be run both as a Windows service and as a regular Windows program. However, it is important to note that the Windows service installation and uninstallation command-line arguments which specified by `--windows-service-install` and `--windows-service-uninstall` of Nuitka-winsvc compilation arguments will override the original behavior of the program. Therefore, the compiled Python program should avoid using the same command line arguments.\r\r\n",
"bugtrack_url": null,
"license": "Apache License, Version 2.0",
"summary": "Nuitka but support compile as Windows service",
"version": "2.7.12",
"project_urls": {
"Homepage": "https://github.com/tabris17/Nuitka-winsvc",
"Source": "https://github.com/tabris17/Nuitka-winsvc"
},
"split_keywords": [
"windows service",
" compiler",
" python",
" nuitka"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "be268669d3182c0562fa9fc43169a3c0fef0a44dda8a7dbb638b9c8d0d47346b",
"md5": "172e4d90ff3f2f06dbefa2ce26c5c6cf",
"sha256": "91f974388af6a9f8350d58cf5131e43a27ec065bf5784b1c0018106e4bf200b3"
},
"downloads": -1,
"filename": "nuitka_winsvc-2.7.12-cp313-cp313-win_amd64.whl",
"has_sig": false,
"md5_digest": "172e4d90ff3f2f06dbefa2ce26c5c6cf",
"packagetype": "bdist_wheel",
"python_version": "cp313",
"requires_python": null,
"size": 3576758,
"upload_time": "2025-07-21T02:26:45",
"upload_time_iso_8601": "2025-07-21T02:26:45.276400Z",
"url": "https://files.pythonhosted.org/packages/be/26/8669d3182c0562fa9fc43169a3c0fef0a44dda8a7dbb638b9c8d0d47346b/nuitka_winsvc-2.7.12-cp313-cp313-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "b0af60381cadbd24de1a7a6f96f5a3bdd3bea6659d4cbc40629f5ee3286295a8",
"md5": "49093aaaf41c40213f4681815d9d1223",
"sha256": "576e8a5b725a5e25e729f8e3f8b562a30928757294269cde986d9e7637955b22"
},
"downloads": -1,
"filename": "nuitka_winsvc-2.7.12.tar.gz",
"has_sig": false,
"md5_digest": "49093aaaf41c40213f4681815d9d1223",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 3841645,
"upload_time": "2025-07-21T02:26:48",
"upload_time_iso_8601": "2025-07-21T02:26:48.092317Z",
"url": "https://files.pythonhosted.org/packages/b0/af/60381cadbd24de1a7a6f96f5a3bdd3bea6659d4cbc40629f5ee3286295a8/nuitka_winsvc-2.7.12.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-21 02:26:48",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "tabris17",
"github_project": "Nuitka-winsvc",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "appdirs",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "ordered-set",
"specs": [
[
"==",
"4.1.0"
]
]
},
{
"name": "orderedset",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "orderedset",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "orderedset",
"specs": [
[
"==",
"2.0.3"
]
]
},
{
"name": "subprocess32",
"specs": []
},
{
"name": "zstandard",
"specs": [
[
">=",
"0.15"
]
]
},
{
"name": "pyyaml",
"specs": []
},
{
"name": "Jinja2",
"specs": [
[
">=",
"2.10.2"
]
]
}
],
"lcname": "nuitka-winsvc"
}