Intro
While I don't use YM as my primary IM, there are times when I need to use it for voice chat....... and I prefer to run most of my apps off a USB flash drive. Here are the results of my adventures... please bare with me as I try to walkthrough everything. This will most likely be a living walkthrough.
1. Install your perferred version of YM
For this example, I will be working off v8.1.0.244, but I have also done the same with v7.5.0.819
I will assume this is being done on a fresh computer system.
2. Make a Copy
Copy your freshly installed YM to your flash drive, or other place of destintation. By default, YM is installed to C:\Program Files\Yahoo!
There will be three folders here: Common, Messenger, and Shared
Copy everything inside each folder into one big folder. I call my folder just plain 'Yahoo'
3. Ad Patchers
If you use an Ad Patcher that modifies the EXE file... now is the time to run it. Patch the file you've just made a copy of.
If you don't use an Ad Patcher, skip this step.
4. Uninstall YM
Do a standard uninstall by going to Control Panel > Add or Remove Programs > Change or Remove Programs > Yahoo Messenger
5. Prepare a batch file to setup and start YM
In the folder you've copied all the YM files to, there is a file called: INSTALL.LOG and this file contains all the info we need to make a portable YM. View this file in Notepad, then search for 'Self-Register'
You should find the following entries:
Code:
Self-Register: C:\Program Files\Yahoo!\Messenger\ft60.dll
Self-Register: C:\Program Files\Yahoo!\Messenger\MyYahoo.dll
Self-Register: C:\Program Files\Yahoo!\Common\YVerInfo.dll
Self-Register: C:\PROGRA~1\Yahoo!\MESSEN~1\YServer.exe
Self-Register: C:\Program Files\Yahoo!\Messenger\Proxy.dll
Self-Register: C:\Program Files\Yahoo!\Messenger\YPagerChecker.dll
Self-Register: C:\Program Files\Yahoo!\Messenger\YahooBridgeLib.dll
Self-Register: C:\PROGRA~1\Yahoo!\MESSEN~1\YMSGR_~1.EXE
Self-Register: C:\Program Files\Yahoo!\Messenger\yacscom.dll
Self-Register: C:\Program Files\Yahoo!\Messenger\yacsui.dll
Self-Register: C:\Program Files\Yahoo!\Messenger\ywcupl.dll
Self-Register: C:\Program Files\Yahoo!\Messenger\ywcvwr.dll
Self-Register: C:\Program Files\Yahoo!\Messenger\ypagerps.dll
Self-Register: C:\Program Files\Yahoo!\Shared\YbSkin2.dll
Self-Register: C:\Program Files\Yahoo!\Shared\YbSkinSelect.dll
Self-Register: C:\Program Files\Yahoo!\Shared\YAlertCenter.dll
Self-Register: C:\Program Files\Yahoo!\Messenger\PhotoShare.dll
Let's make a new text file and modify these entries to look like:
Code:
regsvr32 /s ft60.dll
regsvr32 /s MyYahoo.dll
regsvr32 /s YVerInfo.dll
regsvr32 /s YServer.exe
regsvr32 /s Proxy.dll
regsvr32 /s YPagerChecker.dll
regsvr32 /s YahooBridgeLib.dll
regsvr32 /s yahoomessenger.exe
regsvr32 /s yacscom.dll
regsvr32 /s yacsui.dll
regsvr32 /s ywcupl.dll
regsvr32 /s ywcvwr.dll
regsvr32 /s ypagerps.dll
regsvr32 /s YbSkin2.dll
regsvr32 /s YbSkinSelect.dll
regsvr32 /s YAlertCenter.dll
regsvr32 /s PhotoShare.dll
Save this file in your Portable YM folder. I use filename of: ymstartup.bat
Now in INSTALL.LOG look for the string '/UnregServer'
Code:
Execute Program: C:\Program Files\Yahoo!\Messenger\YahooMessenger.exe /UnregServer
Execute Program: C:\Program Files\Yahoo!\Messenger\YahooMessenger.exe -kill
Let's modify that and paste it as the last lines into our ymstartup.bat
Code:
YahooMessenger.exe /UnregServer
YahooMessenger.exe -kill
start YahooMessenger.exe
Save our modified ymstartup.bat
6. Registry entries for Ad removal
I don't like the Ads in YM. If you like them, skip this step.
I'll save you the trouble and just give you the code... this was made using information from others' post on this forum. This relies on Windows XP/2003 reg.exe application. If you're running a different OS version, you may need to find this file. I believe it's freely available in W2K Resource kit.
Code:
reg add HKCU\Software\Yahoo /v "ClientUpdatePage" /t REG_SZ /d "about:blank" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Address Book" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Calendar Alert Ad URL" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Change Room Banner" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Chat Adurl" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Chat Transition Ad" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Conf Adurl" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Finance Disclaimer" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "First Login Beacon" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Mail Alert Ad URL" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Messenger Ad" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Messenger Help" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "N2Phone Adurl" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "News Alert Ad URL" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Personals Alert Ad URL" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Plug-in Gallery" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Plug-in Selector" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Product Overview" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Stock Alert Ad URL" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Tutorials" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Webcam Upload Ad" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Webcam Viewer Ad" /t REG_SZ /d "about:blank" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Webcam Viewer Ad Big" /t REG_SZ /d "about:blank" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Webcam Viewer Ad Medium" /t REG_SZ /d "about:blank" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Voice General Help" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\YUrl /v "Y Content" /t REG_SZ /d "*" /f
reg add HKCU\Software\Yahoo\Pager\Locale /v "Enable Messenger Ad" /t REG_DWORD /d "00000000" /f
You can place these lines anywhere in ymstartup.bat as long as it's before the last three lines.
7. Clean up
After we are done in YM, and shut it down, we need to clean up after ourselves. Here we will remove our registry entries and delete the cookies YM leaves behind. Let's make a new text file and call it ymshutdown.bat
Code:
regsvr32 /s /u ft60.dll
regsvr32 /s /u MyYahoo.dll
regsvr32 /s /u YVerInfo.dll
regsvr32 /s /u YServer.exe
regsvr32 /s /u Proxy.dll
regsvr32 /s /u YPagerChecker.dll
regsvr32 /s /u YahooBridgeLib.dll
regsvr32 /s /u YahooMessenger.exe
regsvr32 /s /u yacscom.dll
regsvr32 /s /u yacsui.dll
regsvr32 /s /u ywcupl.dll
regsvr32 /s /u ywcvwr.dll
regsvr32 /s /u ypagerps.dll
regsvr32 /s /u YbSkin2.dll
regsvr32 /s /u YbSkinSelect.dll
regsvr32 /s /u YAlertCenter.dll
regsvr32 /s /u PhotoShare.dll
reg delete HKCR\TypeLib\{F0012D80-989C-11D3-B7C5-0090271D5CA7} /f
reg delete HKCU\Software\Yahoo /f
reg delete HKCU\Software\Microsoft\Windows\CurrentVersion\Run /v "Yahoo! Pager" /f
reg delete HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache /v "%CD%\yahoomessenger.exe" /f
reg delete HKLM\SOFTWARE\Yahoo /f
reg delete HKLM\SOFTWARE\Microsoft\DirectDraw\MostRecentApplication /v "Name" /f
del "%UserProfile%\Cookies\*yahoo*.txt" /f /q
8. Test it
We are all done with our batch files....
Take your USB drive to a computer, plug it in.
Before running, fire up regedit.exe and look for any traces of the word 'yahoo'
If there are none, after we launch our ymshutdown.bat file... the registry should be left untouched... like we never ran YM chat client on this computer.
- double click our file ymstartup.bat
- have fun in YM
- when you're done, exit YM, double click ymshutdown.bat
9. Tweaks
We are all done with our batch files.... Apply some tweaks if you like.
Suggestions:
a) run UPX on DLL and EXE to compress them down
b) delete un-need files like skins or wav files.
c) import your YM profile custom setting in from a reg file.
d) streamline batch process of startup and shutdown
e) the lines in our batch files: "regsvr32 /s /u PhotoShare.dll" tend to hang... it's ok to leave it out if you like. I've encountered no ill problems doing so.
f) ?
g) ?
h) ?
10. Notes
There are two files I am sure of what they do: ymsgipdl.ini and ymsgr.ini
seems like we can pass some load time options through these, but I am unsure.
Do keep in mind, that you may need admistrator privillages in order for the batch files to work properly.
11. Done
We're all done. Sugguestion? Questions? Comments?