{"id":18033927,"url":"https://github.com/sjkingo/winpe_vnc","last_synced_at":"2025-10-20T08:37:06.065Z","repository":{"id":22187218,"uuid":"25519330","full_name":"sjkingo/winpe_vnc","owner":"sjkingo","description":"Tools and guide on how to integrate a VNC server with WinPE","archived":false,"fork":false,"pushed_at":"2014-10-21T12:13:55.000Z","size":2508,"stargazers_count":29,"open_issues_count":2,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-12-20T13:32:40.538Z","etag":null,"topics":["vnc","windows","winpe","winpe-vnc"],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sjkingo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-10-21T11:48:19.000Z","updated_at":"2024-10-22T13:59:15.000Z","dependencies_parsed_at":"2022-08-19T22:51:30.592Z","dependency_job_id":null,"html_url":"https://github.com/sjkingo/winpe_vnc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjkingo%2Fwinpe_vnc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjkingo%2Fwinpe_vnc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjkingo%2Fwinpe_vnc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sjkingo%2Fwinpe_vnc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sjkingo","download_url":"https://codeload.github.com/sjkingo/winpe_vnc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":231861194,"owners_count":18437343,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vnc","windows","winpe","winpe-vnc"],"created_at":"2024-10-30T11:08:58.410Z","updated_at":"2025-10-04T11:45:53.097Z","avatar_url":"https://github.com/sjkingo.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"winpe_vnc - How to integrate a VNC server into WinPE\n====================================================\n\nQuick steps\n-----------\n\nI have pre-packaged the VNC server (TightVNC) files plus scripts needed to set up the server.\n\n* Download for 32-bit boot image: [winpe_vnc_files_x86.zip](https://github.com/sjkingo/winpe_vnc/raw/master/winpe_vnc_files_x86.zip)\n* Download for 64-bit boot image: [winpe_vnc_files_x64.zip](https://github.com/sjkingo/winpe_vnc/raw/master/winpe_vnc_files_x64.zip)\n\n1. Download the correct zip file for the boot image architecture (above).\n2. Unzip the files to a temporary directory.\n3. Mount the WIM image with `dism`.\n4. Move the `deploy` and `VNC` directories into the image root.\n5. Delete `setup.exe` in the root of the image.\n6. Move the `startnet.cmd` file to `\\Windows\\System32`, overriding the existing file.\n7. Unmount the image and all finished.\n\n\nManual steps (to use latest version of TightVNC)\n------------------------------------------------\n\n1. Mount WIM image with `dism` (if extracted from a `boot.wim`, it will be index:2).\n2. Create two new directories: `\\deploy` and `\\VNC`.\n3. Move `\\setup.exe` to `\\deploy\\setup.exe`.\n4. [Download TightVNC 32 or 64-bit](http://www.tightvnc.com/download.php) (architecture is important!!).\n5. Install TightVNC on reference computer and configure the Service mode.\n6. Export `HKLM\\SOFTWARE\\TightVNC to `\\VNC\\config32.reg`\n7. (64-bit only) Export `HKLM\\SOFTWARE\\Wow6432Node\\TightVNC` to `\\VNC\\config64.reg`\n8. Copy the following files from the TightVNC install folder to `\\VNC`:\n    * tvnserver.exe\n    * screenhooks32.dll\n     (64-bit only):\n    * hookldr.exe\n    * screenhooks64.dll\n9. Edit `\\Windows\\System32\\startnet.cmd` and append the following line:\n    \n    `\\deploy\\preinit.cmd`\n\n10. Create `\\deploy\\preinit.cmd` as follows (delete the `config64.reg` line if using a 32-bit image):\n\n    ```\n    @echo off\n\n    wpeutil InitializeNetwork\n    wpeutil DisableFirewall\n\n    cd \\VNC\n    regedit /s config32.reg\n    regedit /s config64.reg\n    tvnserver -install -silent\n    tvnserver -start\n\n    cd \\deploy\n    copy setup.exe ..\\\n    cd ..\\\n    start setup.exe\n    ```\n\n12. Commit and unmount the image\n13. Upload to WDS and voila\n\n\nSome helpful commands\n---------------------\n\n```\ndism /Mount-Image /ImageFile:\u003cSRC\u003e /index:2 /MountDir:\u003cMOUNT_POINT\u003e\ndism /Unmount-Image /MountDir:\u003cMOUNT_POINT\u003e /commit\ndism /Export-Image /SourceImageFile:\u003cSRC\u003e /DestinationImageFile:\u003cNEW_FILE\u003e /Compress:max /SourceIndex:2\ndism /Get-ImageInfo /ImageFile:\u003cSRC\u003e\n```\n\nNote the image index will always be :2. Don't attempt to mount/edit index:1 as\nit does not contain the setup bootstrapper that is run on PXE boot.\n\nExporting the image will recompress it slightly and yield a smaller file.\n\nPlease note TightVNC is licensed under the GPL.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjkingo%2Fwinpe_vnc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsjkingo%2Fwinpe_vnc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsjkingo%2Fwinpe_vnc/lists"}