Saturday, July 03, 2010

TeamViewer and WinPE: “Off-Line” Remote Support

filed under the “it works for me…” folder.

I’ve covered remote support tools (targeting family/friend support) before here.

As well as quite of bit of Windows Remote Desktop musings.

…to name just a few.

while they all work very well in their own ways to provide remote desktop support to a family member while their system is up and running there is just one problem with all of these applications.

How are you supposed to remotely assess/help your buddy/loved-one across the country if their Windows system has tanked and won’t run Windows?

Wee bit of a problem ‘eh?

So I wondered and came up with the following pre-problem deployment activity;

  1. Build a custom WinPE boot device; either a Sexy USB Boot (Win PE style) or a CD/DVD based one: Custom Win PE Boot Disk Building: Step Four – Pulling it all together and Custom WinPE Building: Post-Script and PE 3.0.
  2. Seed it with lots of great Portable SysAdmin Tools.
  3. Toss on Devio: Remote drive access and acquisition for good measure to enable access to the physical drive remotely…maybe…
  4. Figure out how to get a remote connection tool working on it in the WinPE environment.

So when my relative calls me in a panic because their system is stuck in a BSOD or something heinous, and won’t even boot to the OS we just need to

  1. Do a off-line boot of the system using the WinPE USB/CD/DVD,
  2. Fire up the embedded remote connection tool,
  3. Start our remote connection session joining,
  4. Go to town with the diagnosis and (possible) repair response.

No problem, Right?


Testing of ShowMyPC (my first choice) didn’t get me much forward progress in running under WinPE.  I’m sure it could be done, but I lost energy tracking down all the dependencies trying to get it going.  That’s why I settled on TeamViewer.

As an added bonus, TeamViewer supports mulit-monitor displays and has a nice integrated chat/file-copy method.  But the real winner is that I can easily re-scale the remote system display so I can zoom in better that ShowMyPC seems to handle display mismatches.

Try as I might (though not really that hard), I was not able to get TeamViewer Portable running “out of the box” on my custom WinPE builds.  I seem to believe that it would do so in a “stock” WinPE base build…but that wasn’t really what I was after.  I wanted it operational in my custom WinPE (GUI) builds.

I knew that the free TeamViewer version is actually very similar to ShowMyPC.  If you download the single exe installer file and launch it, you will get two options: “Install” which will install it proper on the system…nice but not helpful in a WinPE deployment, or “Run” which will unpack and launch it similar to ShowMyPC.

I set it into my WinPE build and went to work with the “Run” method.  Only in WinPE, it kept erroring out.  More dependencies.

But this time I was patient and got it working by doing the following things:

  1. Made a folder in my WinPE building process called “TeamViewer_PE”
  2. Place the downloaded TeamViewer executable into that folder.
  3. Search a mounted WinPE WIM file for the following files: “avicap32.dll” and “msvfw32.dll”
  4. Copy them both into the same folder with the executable.
  5. Add a batch-file that I named “Teamviewer Launcher.bat” to the folder.
  6. Edit the batch file so it contains the following three lines.  Note your drive letter for the WinPE media source may differ from mine below where my USB/CD’s seem to always end up on the E: drive. Adjust accordingly….
    1. Copy "E:\helpers\TeamViewer_Portable\avicap32.dll" x:\windows\system32
      Copy "E:\helpers\TeamViewer_Portable\msvfw32.dll" x:\windows\system32


  7. Save the modified bat file.
  8. Roll up your WinPE build after you’ve done any additional tweaking or adding of critical utilities and/or anti-virus/malware tools.

When needed, have your friend boot their system with the WinPE boot tool you have pre-staged with them in advance, then walk them through to find where you stowed the “TeamViewer_PE” folder.

Have them launch the “Teamviewer Launcher.bat” file.

It will copy the two required .dll files into the X:\Windows\System32 folder, then launch the executable TeamViewer.

Tell them to use the “Run” option.

TeamViewer should launch and then get their connection code and password code, enter them into your local TeamViewer session, and you are connected!

Works fine for me in my own custom/stock WinPE (3.0) builds and is a great way to leverage the power of both a WinPE off-line booted Windows system for work remotely.

Note: you might also have to adjust your WinPE scratch-size space for better performance.  See this GST post WinPE and DISM/PEimg to boost Scratch Space (Ram Disk).

Happy WinPE building!

--Claus V.

1 comment:

Anonymous said...

just in the process of creating my own customized winpe recovery environment.
Thank you very much for this TIP.
works like a charm.
I modified it a bit.
I just copied the .dll files from my workstation in the mounted PE Windows\system32 folder and the tv.exe directly to windows.
It gets loaded into ram and i can reference it directly