Remote desktop to Windows Vista Home Premium?

It seems as though Windows Vista Home Premium doesn't have the ability to utilize RDC.

Is there any way around this? Is there any third-party software (preferably free) that I can use to remote desktop into a Windows Vista Home Premium machine?

2

3 Answers

The free VNC's work very well. I use UltraVNC to access the other machines on the network as well as over the internet. They also have optional video driver accelerators that make the experience more life-like. ToughVNC is also free. The advantage is a direct connection between machines instead of going through someone else's server, like GoToMyPC or TeamViewer (which also work well).

You can rdp INTO a Vista Home. You'll need Business or Ultimate though to rdp into other machines.

I lied. Officially it isn't suppose to work. It works cause I hacked up my VM installation.

My suggestion would be teamviewer. Or Live Mesh.

2

Edit: I realized I posted a solution for Windows 7 Home Premium. You can use similar steps to enable Remote Desktop for Windows Vista Home Premium (with similar sites as well).

You can enable Remote Desktop (Terminal Services) on a Windows Home Premium machine. It involves overwriting your \Windows\System32\termsrv.dll file with a hacked version (or patching/hacking it in-place), which you can find from various search engines.

I can't find the exact site where I found my patch, but other sites exist, with either a patcher, or a version of the DLL to update. Also, for SP1, you may need a different file. (Sorry I can't protect against Link Rot, but these links contain executable/DLL files for download.)

My update came with a batch script, which may help with locating the exact files I used:

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
SET WINVER=Windows 7 Build 7601
SET SET_PRODUCTNAME="Windows 7"
SET SET_CURRENTBUILD="7601"
SET SET_CSDBUILDNUMBER="1130"
SET SET_VERSION=%SET_CURRENTBUILD%.%SET_CSDBUILDNUMBER%
TITLE Concurrent Remote Desktop Sessions %WINVER%
:SHOWHELP IF /I *%1 == *-? GOTO PRINTHELP IF /I *%1 == *help GOTO PRINTHELP GOTO PERMISSIONCHK
:PRINTHELP ECHO This script enables concurrent remote desktop sessions ECHO for %WINVER% ECHO. ECHO This script must be run as an Administrator. ECHO To open an elevated command prompt with Administrator privileges ECHO press WinKey, typ cmd, and hit Ctrl+Shift+Enter. ECHO. ECHO. ECHO Available commandline switches: ECHO. ECHO -? Show this help. ECHO help Same as -?. ECHO multi Enable multiple sessions per user. ECHO blank Enable remote logon for user accounts that are not password protected. ECHO. GOTO END
:PERMISSIONCHK REM Note: Mikinho, Updated admin right checks to a more appropiate method SET HasAdminRights=0 FOR /F %%i IN ('WHOAMI /PRIV /NH') DO ( IF "%%i"=="SeTakeOwnershipPrivilege" SET HasAdminRights=1 ) IF NOT %HasAdminRights%==1 ( ECHO. ECHO This script must be run as an Administrator. ECHO. ECHO Use switch -? to show help. ECHO. GOTO END )
:VERSIONCHECK REM Note: Mikinho, Improved checks... FOR /F "tokens=3*" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v ProductName ^| FIND "ProductName"') DO SET PRODUCTNAME=%%A %%B REM IF /I NOT "%PRODUCTNAME%" == %SET_PRODUCTNAME% GOTO UNSUPPORTED FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "EditionID"') DO SET EDITIONID=%%A IF /I NOT "%EDITIONID%" == "Ultimate" IF /I NOT "%EDITIONID%" == "Enterprise" IF /I NOT "%EDITIONID%" == "Professional" IF /I NOT "%EDITIONID%" == "HomePremium" GOTO UNSUPPORTED FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CurrentBuild"') DO SET CURRENTBUILD=%%A IF /I NOT "%CURRENTBUILD%" == %SET_CURRENTBUILD% GOTO UNSUPPORTED FOR /F "tokens=3" %%A IN ('REG QUERY "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v "CSDBuildNumber"') DO SET CSDBUILDNUMBER=%%A IF /I NOT "%CSDBUILDNUMBER%" == %SET_CSDBUILDNUMBER% GOTO UNSUPPORTED GOTO START
:UNSUPPORTED ECHO. ECHO Your operating system is not supported. ECHO Only for %WINVER% GOTO END
:START CLS IF /I EXIST %SystemRoot%\SysWOW64 (SET ARCH=64) ELSE (SET ARCH=32)
:DETECTARGUMENTS SET SINGLESESSION=1 SET BLANK=1 IF /I *%1 == *MULTI SET SINGLESESSION=0 IF /I *%2 == *MULTI SET SINGLESESSION=0 IF /I *%1 == *BLANK SET BLANK=0 IF /I *%2 == *BLANK SET BLANK=0
:SETSOURCEFOLDER REM This will get the folder the batch file was launched from since the current REM directory will change if launched from a network share SET SOURCEFOLDER=%~dp0 ECHO Source Folder is %SOURCEFOLDER%, Windows is %ARCH%-bit ECHO.
:TAKEOWNERSHIP ECHO Taking ownership of %SystemRoot%\System32\termsrv.dll takeown /a /f %SystemRoot%\System32\termsrv.dll ECHO Granting Administrators rights ICACLS %SystemRoot%\System32\termsrv.dll /Grant "%USERNAME%":F ICACLS %SystemRoot%\System32\termsrv.dll /Grant Administrators:F
:STOPTERMINALSERVICES ECHO Stopping Remote Desktop Services REM Update: Mikinho, changed to TermService for globalization NET stop TermService /y
:BACKUPTERMSRVDLL IF /I EXIST %SystemRoot%\System32\termsrv.dll.%SET_VERSION%.bak GOTO PATCHED COPY "%SystemRoot%\System32\termsrv.dll" "%SystemRoot%\System32\*.*.%SET_VERSION%.bak"
:COPYTERMSRVDLL IF /I NOT EXIST "%SOURCEFOLDER%%ARCH%_termsrv.dll" ( ECHO. ECHO The %ARCH% version of termsrv.dll is not present ECHO. ECHO Use switch -? to show help. ECHO. GOTO END ) ECHO Copying "%SOURCEFOLDER%%ARCH%_termsrv.dll" to "%SystemRoot%\System32\termsrv.dll" COPY /Y "%SOURCEFOLDER%%ARCH%_termsrv.dll" "%SystemRoot%\System32\termsrv.dll" GOTO IMPORTREGKEYS
:PATCHED ECHO ###################################### ECHO # Patched Already ,Config Editing... # ECHO ######################################
:IMPORTREGKEYS ECHO Enabling RDP REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
:HOMEPREMIUM IF /I "%EDITIONID%" == "HomePremium" ( NETSH advfirewall firewall delete rule name="Remote Desktop (TCP-In)" NETSH advfirewall firewall add rule name="Remote Desktop (TCP-In)" program=System profile=public,private,domain dir=in localport=3389 protocol=tcp action=allow description="Inbound rule for the Remote Desktop service to allow RDP traffic. [TCP 3389]" COPY /Y "%SOURCEFOLDER%%ARCH%_rdpclip.exe" "%SystemRoot%\system32\rdpclip.exe" )
:SETSINGLESESSIONSETTING ECHO Setting fSingleSessionPerUser to %SINGLESESSION% REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fSingleSessionPerUser /t REG_DWORD /d %SINGLESESSION% /f
:SETBLANKPASSWORDPOLICY ECHO Setting LimitBlankPasswordUser to %BLANK% REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Lsa" /v LimitBlankPasswordUse /t REG_DWORD /d %BLANK% /f
:CONFIGUREFIREWALL ECHO Configuring Remote Desktop in Windows Firewall NETSH advfirewall firewall set rule group="remote desktop" new enable=Yes
:STARTTERMINALSERVICES ECHO Starting Remote Desktop Services REM Update: Mikinho, changed from "Remote Desktop Services" for globalization NET START TermService
:PAUSE5SECONDS ECHO Pausing 5 seconds to give service time to start listening CHOICE /n /c y /d y /t 5 > nul
:CHECKIFSERVICELISTENING ECHO Checking if Service is listening on port 3389 SUBST NETSTAT -a | find /i "3389" IF ERRORLEVEL 1 GOTO SERVICENOTLISTENING
:SERVICEISLISTENING ECHO Service is listening ECHO Done GOTO END
:SERVICENOTLISTENING ECHO Service is not listening
:CONTINUE ECHO Done
:END
ENDLOCAL
PAUSE
EXIT /B
1

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like