TeamViewer v5.1.9192 is out since 2010-09-21.
May I suggest some improvements to whoever currently develops the offical PA.c version?
The currently available version 5.1.9160 can leave traces in the host system's registry at:
HKCU\Software\Teamviewer\Version5.1\ HKLM\Software\Teamviewer\Version5.1\
Also, the "TeamViewer.ini" file is kept in three places:
App\DefaultData\settings\TeamViewer.ini App\teamviewer\TeamViewer.ini Data\settings\TeamViewer.ini
The official TeamViewer Portable from TeamViewer's site can save/restore user settings with one (or more) of the following mechanisms:
1. Setting "nosave=0" in [Settings] in TeamViewer.ini
2. Setting "importsettings=1" in [Settings] in TeamViewer.ini PLUS having a file "tv.ini" in the app directory that essentially holds TeamViewer's registry keys (but not in real INI format). The file "tv.ini" can be produced by exporting one's TeamViewer settings under "Extras/Options/Advanced/Show advanced options/TeamViewer Options/Export settings for Teamviewer Portable". (Also, a .REG file could be created instead, with the option to include/exclude the license key!)
I would suggest setting and clearing the registry using the PA.c Launcher upon start/exit, and savin the info in a .reg file in Data\settings.
The "TeamViewer.ini" file in App\teamviewer\ should be replaced by whatever is in Data\settings\TeamViewer.ini upon start. If there is no Data\settings\TeamViewer.ini, it should be replaced by a default TeamViewer.ini copied from App\DefaultData\settings\TeamViewer.ini. This should contain:
[Settings] nosave=1 importsettings=0 LogIncomingConnections=0 LogOutgoingConnections=0 [License] code=00-00000-000000-000000
Upon start, the Launcher should check if there is a .reg file, update the host's registry accordingly. It should also copy the TeamViewer.ini as stated above, PLUS a file "tv.ini" in Data\settings, if such exists.
Upon exit, the registry entries should be written to Data\settings and cleared from the host system. Also, the possibly changed files "TeamViewer.ini" and "tv.ini" from the app directory should be moved to Data\settings.
It should be left to the user to manually edit Data\settings\TeamViewer.ini to include their license key, options to save last connections ("nosave=0"), import settings from tv.ini ("importsettings=1"), log incoming connections ("LogIncomingConnections=1"), or log outgoing connections ("LogOutgoingConnections=1").
Be aware that logging and "nosave=0" will create additional registry entries that must be saved. So one cannot simply fire up the default TeamViewer Portable from TeamViewer's site, export the registry file and believe that's all. (Although that might be a good start.) Instead, I'd suggest saving/restoring the complete "HKLM\Software\TeamViewer\Version5.1" and "HKCU\Software\TeamViewer\Version5.1" keys.
To avoid distracting firewall messages popping up, a registry key might be introduced (and removed) via launcher to allow TiemViewer access: Set the key
HKLM\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List\G:\PortableApps\TeamViewerPortable\App\teamviewer\TeamViewer.exe
to a REG_SZ containg
G:\PortableApps\TeamViewerPortable\App\teamviewer\TeamViewer.exe:*:Enabled:TeamViewer Remote Control Application
(where the drive and path oviously have to be modified). Then again, we might leave it to the user, although this will create a zillion entries in the registry when changing the drive location and never be removed. So probably better to create and remove it ourselves.
Of course modification of HKLM requires admin rights. So users should be aware to run TeamViewer Portable with administrative rights (right-click TeamViewer Portable in PA Menu, select "Run as Administrator").
There might still be one caveat when removing the registry keys upon exiting TeamViewer Portable: The user MIGHT have a TeamViewer already installed in Windows. I currently don't know how to reliably detect that in a cross-platform-way. Oh well, can't be helped.
Hope this helps creating an even better TeamViewer 5.1.9192 experience for all of us!
EDIT: I just found out that, according to the TeamViewer changelog, the portable version (5.1.9192) now starts without user account control (UAC) — a big plus. So maybe the PAF maintainer here could have a look into the new version and find out if it’s enough just to modify the HKCU keys (instead of also using the HKLM keys).