Portable version
Portable version
Sorry if this was mentioned before...
Can you make it portable so we can run it from USB?
Can you make it portable so we can run it from USB?
Well, in theory, it's possible, and thus I made one with a friend, but it:
1) requires you to register all necessary OCX's and DLL's used by MyPhoneExplorer and unregister them afterwards (which could cause problems with overlapping dependencies of other programs)
2) requires the use of regsp.exe with the registration key of the program's author, which might not be appreciated by FJ. Although I extracted his user name and serial from the installation process in order to register Sport.dll manually (and only that!), I don't think FJ would support me posting the command line for that here on the forum.
1) requires you to register all necessary OCX's and DLL's used by MyPhoneExplorer and unregister them afterwards (which could cause problems with overlapping dependencies of other programs)
2) requires the use of regsp.exe with the registration key of the program's author, which might not be appreciated by FJ. Although I extracted his user name and serial from the installation process in order to register Sport.dll manually (and only that!), I don't think FJ would support me posting the command line for that here on the forum.
That is the case for so many of these 'portable' programs. "Luckily", most Windows PC's aren't secured that well, and you'll still be able to run the program your friends' computers.
I'm having a look at this myself already, but perhaps you already know: is it necessary to register all OCX's and DLL's (that are able to register themselves) or only some of them? Could solve some problems like stated above in (1).
One more question. You mention somewhere on the forum that for NT-based systems, you have to use regsp.exe instead of regsvr32.exe. But what's the difference (if any) between regsp.exe and regsvr32.exe then? It seems that regsp.exe is just a regular regsvr32.exe from Windows XP SP2 and regsvr32.exe is perfectly capable of passing the username and serial via the /i parameter.
I'm having a look at this myself already, but perhaps you already know: is it necessary to register all OCX's and DLL's (that are able to register themselves) or only some of them? Could solve some problems like stated above in (1).
One more question. You mention somewhere on the forum that for NT-based systems, you have to use regsp.exe instead of regsvr32.exe. But what's the difference (if any) between regsp.exe and regsvr32.exe then? It seems that regsp.exe is just a regular regsvr32.exe from Windows XP SP2 and regsvr32.exe is perfectly capable of passing the username and serial via the /i parameter.
Although it does have the version number of Windows XP SP2, it's a significantly larger file than regsvr32.exe of that same Windows version, so it might be that something has been added. I doubt it though, because that would likely infringe Microsoft's copyrights. Hence, I tried regsvr32.exe for registering sport.dll with your data and it did a mighty fine job there. In conclusion, unlike you (or Eltima, author of sport.dll) stated, regsp.exe is not necessary for NT-based systems (at least not for XP).
Now, this is as portable as it can get. It's a quick mock-up using a batchfile and a registry file, but it should of course be implemented in something nice like an AutoIt script. Remember that you still need to have Administrator rights!
The only thing it leaves is a randomly generated class in HKLM\SOFTWARE\Classes\CLSID, in my case {46C37B11-8CF1-50C3-17D6-A03A98F13CB9} every time, but in another virtual machine it's a different key. It contains garbage, which probably make up a CRC that is unique for the license of sport.dll on that particular machine, so that you need the actual user name and serial to register the component every time.
The batch file _runmpe.cmd consists of:
and the registry file _regclean.reg:
Two remarks:
The only thing it leaves is a randomly generated class in HKLM\SOFTWARE\Classes\CLSID, in my case {46C37B11-8CF1-50C3-17D6-A03A98F13CB9} every time, but in another virtual machine it's a different key. It contains garbage, which probably make up a CRC that is unique for the license of sport.dll on that particular machine, so that you need the actual user name and serial to register the component every time.
The batch file _runmpe.cmd consists of:
Code: Alles auswählen
@echo off
cd /d %~dp0
reg add HKEY_CURRENT_USER\Software\MyPhoneExplorer /v Database /d "%~dp0
reg add HKEY_CURRENT_USER\Software\MyPhoneExplorer /v Language /d english.lng
regsvr32.exe /s %~dp0ccrpucw6.dll
regsvr32.exe /s %~dp0ssubtmr6.dll
regsvr32.exe /s %~dp0vbalsgrid6.ocx
regsvr32.exe /s %~dp0sport.dll /i:"this is where the registration data for the license of FJ comes in"
start /wait myphoneexplorer.exe
for %%f in (*.dll) do if not exist "%SystemRoot%\System32\%%~nf%%~xf" regsvr32.exe /u /s "%%f"
for %%f in (*.ocx) do if not exist "%SystemRoot%\System32\%%~nf%%~xf" regsvr32.exe /u /s "%%f"
regedit /s _regclean.regCode: Alles auswählen
REGEDIT4
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ESENT\Process\myphoneexplorer]
[-HKEY_CURRENT_USER\Software\MyPhoneExplorer]
[HKEY_LOCAL_MACHINE\SOFTWARE\Licenses]
"{0896AF12A59363EC0}"=-
"{I896AF12A59363EC0}"=-
"{K7C0DB872A3F777C0}"=-
"{R7C0DB872A3F777C0}"=-
;Not sure about the next one: is it possible that it contains vital information for other programs?
[-HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\RFC1156Agent]- The databases of your phones should be in the subfolder MyPhoneExplorer (so if myphoneexplorer.exe is in X:\Programs\MyPhoneExplorer, then general.ini and the folders of your phone data should be in X:\Programs\MyPhoneExplorer\MyPhoneExplorer)
- Put all the files of the DLL folder, and the files normally put into Windows\System32 in the same folder as myphoneexplorer.exe. This leaves the following folder structure:(I removed the Outlook plugin file, but leave it in there if you use it, I guess).
Code: Alles auswählen
D:\Programs\Utilities\MyPhoneExplorer\amr.exe D:\Programs\Utilities\MyPhoneExplorer\ccrpdtp6.ocx D:\Programs\Utilities\MyPhoneExplorer\ccrpucw6.dll D:\Programs\Utilities\MyPhoneExplorer\colorshemes.ini D:\Programs\Utilities\MyPhoneExplorer\comctl32.ocx D:\Programs\Utilities\MyPhoneExplorer\exporttemplate.html D:\Programs\Utilities\MyPhoneExplorer\iconlib.dll D:\Programs\Utilities\MyPhoneExplorer\kwab.dll D:\Programs\Utilities\MyPhoneExplorer\mpe-addin.xpi D:\Programs\Utilities\MyPhoneExplorer\mpe_gadget_connector.dll D:\Programs\Utilities\MyPhoneExplorer\mswinsck.ocx D:\Programs\Utilities\MyPhoneExplorer\myphoneexplorer.exe D:\Programs\Utilities\MyPhoneExplorer\richtx32.ocx D:\Programs\Utilities\MyPhoneExplorer\shellmgr.dll D:\Programs\Utilities\MyPhoneExplorer\smsexporttemplate.html D:\Programs\Utilities\MyPhoneExplorer\sport.dll D:\Programs\Utilities\MyPhoneExplorer\ssubtmr6.dll D:\Programs\Utilities\MyPhoneExplorer\update.rdf D:\Programs\Utilities\MyPhoneExplorer\vbalexpbar6.ocx D:\Programs\Utilities\MyPhoneExplorer\vbaliml6.ocx D:\Programs\Utilities\MyPhoneExplorer\vbalsgrid6.ocx D:\Programs\Utilities\MyPhoneExplorer\_regclean.reg D:\Programs\Utilities\MyPhoneExplorer\_runmpe.cmd D:\Programs\Utilities\MyPhoneExplorer\Holidays\nederland.dat D:\Programs\Utilities\MyPhoneExplorer\Languages\english.lng