Protocols/MSNP/Clients: Difference between revisions
Jump to navigation
Jump to search
(Created page with "Supported clients, and you can download them here <pre> ``` Version: Escargot Compatibility MSN MESSENGER 1.x-3.x...") |
No edit summary |
||
| Line 1: | Line 1: | ||
Supported clients, and you can download them [[Clients/Windows_Live_Messenger|here]] | Supported clients, and you can download them [[Clients/Windows_Live_Messenger|here]] | ||
=== Compatibility === | |||
<pre> | <pre> | ||
``` | ``` | ||
| Line 295: | Line 296: | ||
Currently unsupported | Currently unsupported | ||
``` | ``` | ||
</pre> | |||
=== Identify Version from Setup === | |||
<pre> | |||
Here is a simple pseudo code of my PHP tool which identify the version and the language of a Messenger setup: | |||
**MSI file** | |||
Language & Version: Read `ProductLanguage` and `ProductVersion` from the MSI file by querying its internal database: `SELECT Value FROM Property WHERE Property = %` (Windows users can use this tool: http://windowsitpro.com/systems-management/get-information-about-msi-files-just-few-clicks) | |||
**MSP file** | |||
**You have a patch and not a full version.** | |||
- Language: `VS_VERSION_INFO struct > VarFileInfo > Translation` **of the setup file (not the msp file)** | |||
- Version: Find the VS_VERSION_INFO (by hand?) struct, parse it and use `VS_VERSION_INFO struct > StringFileInfo > FileVersion` | |||
**EXE file - First** | |||
Try to extract file `msmsgs.exe` from your setup file using WinRAR. | |||
If it works: | |||
- Version: `VS_VERSION_INFO struct > StringFileInfo > FileVersion`. | |||
- Language: Extract `msgslang.dll` and use language from the `VS_VERSION_INFO struct > VarFileInfo > Translation` (first 2 bytes are the language code). | |||
**EXE file - Second** | |||
Try to extract file `MsnMsgs.msi` from your setup file using WinRAR. | |||
If if works: | |||
- Language & Version: Read `ProductLanguage` and `ProductVersion` from the MSI file by querying its internal database: `SELECT Value FROM Property WHERE Property = %` | |||
**EXE file - Third** | |||
Try to extract file `MsnMsgs.msp` from your setup file using WinRAR. | |||
If it works: **You have a patch and not a full version.** | |||
- Language: `VS_VERSION_INFO struct > VarFileInfo > Translation` **of the setup file (not the msp file)** | |||
- Version: Find the VS_VERSION_INFO (by hand?) struct and use `VS_VERSION_INFO struct > StringFileInfo > FileVersion` | |||
-- Work in progress -- | |||
**EXE file - Fourth** | |||
Check presence of resource `BOOTSTRAPPAYLOAD > MANIFEST.XML` and extract it. | |||
If it works: | |||
**You have a Live installer which may be a web installer (without anything in it) or an offline installer which may contains lot of programs of the Windows Live suite (including or not Messenger).** | |||
- Check first 4 bytes: if they are `MSCF`, the XML config file is in a CAB file. Use `CabArc.exe` to extract the XML config file. Else, you probably already have a XML file. | |||
- Open XML file. | |||
- Jump to `XML file - First` | |||
**EXE file - Fifth** | |||
Check presence of resource `CATALOG > DEFAULT` and extract it. | |||
If it works: | |||
**You have a Live installer which may be a web installer (without anything in it) or an offline installer which may contains lot of programs of ther Windows Live suite (including or not Messenger).** | |||
- Check first 4 bytes: if they are `MSCF`, the XML config file is in a CAB file. Use `CabArc.exe` to extract the XML config file. Else, you probably already have a XML file. | |||
- Open XML file. | |||
- Jump to `XML file - First` | |||
**XML file - First** | |||
- Search for packages with `id` starting with `Messenger` (xpath: `/catalog/package[starts-with(@id, "Messenger")]`). | |||
- Filter the ones with the `source` property starting with `x-wlspkg://` | |||
- If you are left with one result with a `language` property set to a language code, it means the Messenger setup includes its language pack. | |||
- If you have 2 results, one with `language` set to `neutral` and one with `language` set to one language code, it means the Messenger setup and its language pack are in the ressource of the setup file: you need to extract both. | |||
- If present, `xsFileName` is the filename of the file containing the extracted resource data. It can be a 7z file which needs to be uncompressed to give you another CAB file containing the final setup file. If absent, you should assume the file is a CAB file containing an msi file (just check the `engine` property). | |||
**XML file - Second** | |||
- Search for a package with `id="Messenger"` (xpath: `/Products/Product[@id="{A26D7C8B-875D-48E2-BED1-7168268D022A}"]`). If `SourceLocation` starts with `resource:`, the Messenger setup includes its language pack and is in the ressource of the setup file. If not, Messenger setup is not included. `xsFileName` is the filename of the Messenger setup. | |||
**EXE file - Sixth** | |||
Default to the data contained in the `VS_VERSION_INFO struct` of the setup file. | |||
</pre> | </pre> | ||
Revision as of 13:00, 13 March 2021
Supported clients, and you can download them here
Compatibility
```
Version: Escargot Compatibility
MSN MESSENGER 1.x-3.x
W95 W98 WME WNT W2K WXP VIS W7 W8 W10
+-------------+---+---+---+---+---+---+---+---+---+---+
| 1.0.0863 | o | o | o | o | o | o | o | o | - | o | MD5/CTP*
| 1.0.0889 | o | o | o | o | o | o | o | - | - | - | MD5/CTP*
| 1.0.0893 | o | o | o | o | o | o | o | - | - | o | MD5/CTP*
+-------------+---+---+---+---+---+---+---+---+---+---+
| 2.0.0083 | o | o | o | o | o | o | o | - | - | - | MD5
| 2.0.0085 | o | o | o | o | o | o | o | - | - | o | MD5
| 2.1.1047 | o | o | o | o | o | o | o | - | - | - | MD5
| 2.2.1053 | o | o | o | o | o | o | o | - | - | o | MD5
+-------------+---+---+---+---+---+---+---+---+---+---+
| 3.0.0283 | o | o | o | o | o | o | o | - | - | - | MD5
| 3.0.0286 | o | o | o | o | o | o | o | - | - | o | MD5
| 3.5.0077 | o | o | o | o | o | o | o | - | - | - | MD5
| 3.6.0024 | o | o | o | o | o | o | o | - | - | - | MD5
| 3.6.0025 | o | o | o | o | o | o | o | - | - | - | MD5
| 3.6.0026 | o | o | o | o | o | o | o | - | - | - | MD5
| 3.6.0038 | o | o | o | o | o | o | o | - | - | - | MD5
| 3.6.0039 | o | o | o | o | o | o | o | - | - | o | MD5
+-------------+---+---+---+---+---+---+---+---+---+---+
MSN MESSENGER/WINDOWS MESSENGER 4.x
W95 W98 WME WNT W2K WXP VIS W7 W8 W10
+-------------+---+---+---+---+---+---+---+---+---+---+
| 4.0.0135 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.0.0146 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.0.0155 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.5.0121 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.5.0127 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.6.0071 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.6.0073 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.6.0076 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.6.0077 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.6.0078 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.6.0079 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.6.0082 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.6.0083 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.7.0031 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.7.0034 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.7.0041 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.7.0101 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.7.0105 | o | o | o | o | o | o | o | - | - | - | MD5
| 4.7.2009 | / | / | / | / | / | o | - | o | - | - | TWN
| 4.7.3000 | / | / | / | / | / | o | - | - | - | - | TWN
| 4.7.3001 | / | / | / | / | / | o | - | o | - | - | TWN
+-------------+---+---+---+---+---+---+---+---+---+---+
WINDOWS MESSENGER 5.x
WXP VIS W7 W8 W10
+-------------+---+---+---+---+---+
| 5.0.0149 | o | - | - | - | - | TWN
| 5.0.0482 | o | - | - | - | - | TWN
| 5.1.0701 | o | - | - | - | - | TWN
| 5.1.0715 | o | - | - | - | - | TWN
+-------------+---+---+---+---+---+
| 6.0.0101 | o | - | - | - | - | TWN
| 6.0.4074 | o | - | - | - | - | TWN
+-------------+---+---+---+---+---+
MSN MESSENGER 5.x
W98 WME WNT W2K WXP VIS W7 W8 W10
+-------------+---+---+---+---+---+---+---+---+---+
| 5.0.0124 | x | x | x | x | o | - | - | - | - | MD5/TWN
| 5.0.0317 | x | x | x | x | o | - | - | - | - | MD5/TWN
| 5.0.0322 | x | x | x | x | o | - | - | - | - | MD5/TWN
| 5.0.0327 | x | x | x | x | o | - | - | - | - | MD5/TWN
| 5.0.0340 | x | x | x | x | o | - | - | - | - | MD5/TWN
| 5.0.0515 | x | x | x | x | o | - | - | - | - | TWN
| 5.0.0527 | x | x | x | x | o | - | - | - | - | TWN
| 5.0.0537 | x | x | x | x | o | - | - | - | - | TWN
| 5.0.0540 | x | x | x | x | o | - | - | - | - | TWN
| 5.0.0544 | x | x | x | x | o | - | - | - | - | TWN
| 5.0.0575 | x | x | x | x | o | - | - | - | o | TWN
+-------------+---+---+---+---+---+---+---+---+---+
MSN MESSENGER 6.x/7.0
W98 WME W2K WXP VIS W7 W8 W10
+-------------+---+---+---+---+---+---+---+---+
| 6.0.0250 | x | x | x | o | - | - | - | - | TWN
| 6.0.0256 | x | x | x | o | - | - | - | - | TWN
| 6.0.0268 | x | x | x | o | - | - | - | - | TWN
| 6.0.0602 | x | x | x | o | - | - | - | - | TWN
| 6.1.0114 | x | x | x | o | o | - | - | - | TWN
| 6.1.0128 | x | x | x | o | o | - | - | - | TWN
| 6.1.0150 | x | x | x | o | o | - | - | - | TWN
| 6.1.0211 | x | x | x | o | o | - | - | - | TWN
| 6.2.0133 | x | x | x | o | - | - | - | - | TWN
| 6.2.0137 | x | x | x | o | - | - | - | - | TWN
| 6.2.0205 | x | x | x | o | - | - | - | - | TWN
| 6.2.0208 | x | x | x | o | - | - | - | - | TWN
+-------------+---+---+---+---+---+---+---+---+
| 7.0.0205 | x | x | x | o | - | - | - | - | TWN
| 7.0.0225 | x | x | x | o | - | - | - | - | TWN
| 7.0.0332 | x | x | x | o | - | - | - | - | TWN
| 7.0.0425 | x | x | x | o | - | - | - | - | TWN
| 7.0.0429 | x | x | x | o | - | - | - | - | TWN
| 7.0.0604 | x | x | x | o | - | - | - | - | TWN
| 7.0.0632 | x | x | x | o | - | - | - | - | TWN
| 7.0.0732 | x | x | x | o | - | - | - | - | TWN
| 7.0.0777 | x | x | x | o | - | - | - | - | TWN
| 7.0.0813 | x | x | x | o | - | - | - | - | TWN
| 7.0.0816 | x | x | x | o | - | - | - | - | TWN
| 7.0.0820 | x | x | x | o | - | - | - | - | TWN
+-------------+---+---+---+---+---+---+---+---+
MSN MESSENGER 7.5
WXP VIS W7 W8 W10
+-------------+---+---+---+---+---+
| 7.5.0160 | o | - | o | - | o | TWN
| 7.5.0162 | o | - | o | - | o | TWN
| 7.5.0244 | o | - | o | - | o | TWN
| 7.5.0299 | o | - | o | - | o | TWN
| 7.5.0303P | o | - | o | - | o | TWN
| 7.5.0306 | o | - | o | - | o | TWN
| 7.5.0311 | o | - | o | - | o | TWN
| 7.5.0319P | o | - | o | - | o | TWN
| 7.5.0320P | o | - | o | - | o | TWN
| 7.5.0322 | o | - | o | - | o | TWN
| 7.5.0324 | o | - | o | - | o | TWN
+-------------+---+---+---+---+---+
WINDOWS LIVE MESSENGER 8.x/9.0
WXP VIS W7 W8 W10
+-------------+---+---+---+---+---+
| 8.0.0290 | x | x | x | - | - | TWN
| 8.0.0328 | x | x | x | - | - | TWN
| 8.0.0363 | x | x | x | - | - | TWN
| 8.0.0365 | - | - | o | - | - | TWN
| 8.0.0369 | - | - | o | - | - | TWN
| 8.0.0562 | x | x | x | - | - | TWN
| 8.0.0566 | x | x | x | - | - | TWN
| 8.0.0683 | - | - | o | - | - | TWN
| 8.0.0689 | - | - | o | - | - | TWN
| 8.0.0787 | ! | - | o | - | o | TWN
| 8.0.0792 | ! | - | o | - | - | TWN
| 8.0.0812 | ! | - | o | - | - | TWN
| 8.1.0064 | ! | - | o | - | - | TWN/SSO
| 8.1.0068 | ! | - | o | - | - | TWN/SSO
| 8.1.0106 | ! | - | o | - | - | TWN/SSO
| 8.1.0168 | ! | - | o | - | - | TWN/SSO
| 8.1.0178 | ! | - | o | - | - | TWN/SSO
| 8.5.1235 | ! | o | o | - | o | TWN/SSO
| 8.5.1288 | ! | o | o | - | o | TWN/SSO
| 8.5.1302 | ! | o | o | - | o | TWN/SSO
+-------------+---+---+---+---+---+
| 9.0.1407 | x | x | x | x | x | SSO
+-------------+---+---+---+---+---+
WINDOWS LIVE MESSENGER 2009
WXP VIS W7 W8 W10
+-------------+---+---+---+---+---+
| 14.0.3921 | x | x | x | x | x | SSO
| 14.0.5027 | x | x | x | x | x | SSO
| 14.0.8050 | x | x | x | x | x | SSO
| 14.0.8089 | x | x | x | x | x | SSO
| 14.0.8117 | x | x | x | x | x | SSO
+-------------+---+---+---+---+---+
WINDOWS LIVE MESSENGER 2010
VIS W7 W8 W10
+-------------+---+---+---+---+
| 15.2.2585 | x | x | x | x | SSO
+-------------+---+---+---+---+
WINDOWS LIVE MESSENGER 2011
VIS W7 W8 W10
+-------------+---+---+---+---+
| 15.4.3001 | x | x | x | x | SSO
| 15.4.3538 | x | x | x | x | SSO
| 15.4.3555 | x | x | x | x | SSO
+-------------+---+---+---+---+
WINDOWS LIVE MESSENGER 2012
W7 W8 W10
+-------------+---+---+---+
| 16.4.3528 | x | x | x | SSO
+-------------+---+---+---+
WINDOWS 8 MESSAGING
W8
+-------------+---+
| 16.4.4206 | x | WEB?
+-------------+---+
MICROSOFT MESSENGER FOR MAC
OS9 X.0 X.1 X.2 X.3 X.4 X.5 X.6 X.7 X.8 X.9 X.10 X.11 X.12 X.13 X.14 X.15
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 1.0r065 | o | c | c | c | c | c | / | / | / | / | / | / | / | / | / | / | / | MD5
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 2.0r037 | - | - | - | - | - | - | - | - | / | / | / | / | / | / | / | / | / | MD5
| 2.0r44 | o | - | - | - | - | - | - | - | / | / | / | / | / | / | / | / | / | MD5
| 2.1.0 | o | - | - | - | - | - | - | - | / | / | / | / | / | / | / | / | / | MD5
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 3.0.0 | / | - | - | - | - | o | - | - | / | / | / | / | / | / | / | / | / | MD5(?)
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 2.5.1 | ! | - | - | - | - | - | - | - | / | / | / | / | / | / | / | / | / | TWN
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 3.5.1 | - | - | - | - | - | - | - | - | / | / | / | / | / | / | / | / | / | TWN
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 4.0.1 | / | - | - | - | - | - | - | - | / | / | / | / | / | / | / | / | / | TWN
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 5.1.1 | / | - | - | - | - | - | - | - | / | / | / | / | / | / | / | / | / | TWN
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 6.0.3 | / | / | / | / | / | ! | ! | ! | ! | ! | ! | ! | ! | ! | ! | ! | / | TWN
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 7.0.1 | / | / | / | / | / | - | - | - | - | - | - | - | - | - | - | - | / | TWN
| 7.0.2 | / | / | / | / | / | - | - | - | - | - | - | - | - | - | - | - | / | TWN
| 7.0.3 | / | / | / | / | / | - | - | - | - | - | - | - | - | - | - | - | / | TWN
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
| 8.0.0 | / | / | / | / | / | x | x | x | x | x | x | x | x | x | x | x | / | TWN
| 8.0.1 | / | / | / | / | / | x | x | x | x | x | x | x | x | x | x | x | / | TWN
| 8.0.2 | / | / | / | / | / | x | x | x | x | x | x | x | x | x | x | x | / | TWN
+-------------+---+---+---+---+---+---+---+---+---+---+---+-----+-----+-----+-----+-----+-----+
c = Compatible via Classic environment
O = Compatible with Escargot
! = Compatible, but has issues (mainly HTTPS-related)
x = Incompatible with Escargot
- = Untested
/ = Incompatible with OS (but may work if copied manually)
* "CTP" is a newly-discovered authentication method only used in MSN 1.0 that sends the plaintext email and password to the server to be verified.
-- TODO: Update requirements --
Requirements:
Windows:
To edit the hosts file on Windows 9x:
Open "C:\Windows\hosts" and add the line "35.185.200.209 messenger.hotmail.com" to the end
To edit the hosts file on Windows NT/2000/XP/Vista/7/8/10:
Open "C:\Windows\System32\Drivers\etc\hosts" and add the line "35.185.200.209 messenger.hotmail.com" to the end
MSN Messenger/Windows Messenger 1.x to 4.x:
* Hosts file or "messenger.hotmail.com" -> "m1.escargot.log1p.xyz" patch
Note: For 4.7.2005 and any 4.7 build up to 3001, see 5.x below
MSN Messenger/Windows Messenger 5.x:
* Hosts file or "messenger.hotmail.com" -> "m1.escargot.log1p.xyz" patch
* "http://nexus.passport.com/rdr/pprdr.asp" -> "https://m1.escargot.log1p.xyz/nexus-mock" patch
* "PassportURLs" -> "Passporturls" patch
MSN Messenger/Windows Messenger 6.x:
* Hosts file or "messenger.hotmail.com" -> "m1.escargot.log1p.xyz" patch
* "http://nexus.passport.com/rdr/pprdr.asp" -> "https://m1.escargot.log1p.xyz/nexus-mock" patch
* "PassportURLs" -> "Passporturls" patch
* "http://config.messenger.msn.com/Config/MsgrConfig.asmx" -> "https://escargot.log1p.xyz/etc/MsgrConfig?padding=qqqq" patch
MSN Messenger 7.0:
* Hosts file or "messenger.hotmail.com" -> "m1.escargot.log1p.xyz" patch
* "http://nexus.passport.com/rdr/pprdr.asp" -> "https://m1.escargot.log1p.xyz/nexus-mock" patch
* "PassportURLs" -> "Passporturls" patch
* "http://config.messenger.msn.com/Config/MsgrConfig.asmx" -> "https://escargot.log1p.xyz/etc/MsgrConfig?padding=qqqq" patch
MSN Messenger 7.5:
* Hosts file or "messenger.hotmail.com" -> "m1.escargot.log1p.xyz" patch
* "http://config.messenger.msn.com/Config/MsgrConfig.asmx" -> "https://escargot.log1p.xyz/etc/MsgrConfig?padding=qqqq" patch
* msidcrl.dll patch
Windows Live Messenger 8.x/9.0:
* Hosts file or "messenger.hotmail.com" -> "m1.escargot.log1p.xyz" patch
* "byrdr.omega.contacts.msn.com" -> "ebyrdromegactcsmsn.log1p.xyz" patch
* "tkrdr.storage.msn.com" -> "etkrdrstmsn.log1p.xyz" patch
* "ows.messenger.msn.com" -> "eowsmsgrmsn.log1p.xyz" patch
* "rsi.hotmail.com" -> "ersih.log1p.xyz" patch
* "http://config.messenger.msn.com/Config/MsgrConfig.asmx" -> "https://escargot.log1p.xyz/etc/MsgrConfig?padding=qqqq" patch
* msidcrl.dll patch
Windows Live Messenger 2009/2010/2011/2012:
Currently unsupported
MSN/Microsoft Messenger for Mac:
Versions 1.x - 2.1.0 & 3.0.0:
Hosts file (MacOS 9.2):
Add the following line to the "HOSTS" file, stored in the Preferences folder in System:
"messenger.hotmail.com A 35.185.200.209"
If the file doesn't exist, create it, and add the above line.
Hosts file (MacOS X):
Add the following line to the "hosts" file, stored at /etc/hosts:
"35.185.200.209 messenger.hotmail.com"
Instructions on how to do this can be found at http://osxdaily.com/2016/02/29/modify-hosts-mac-os-x-textedit/
Versions 2.5.1 and 3.5.x+:
Currently unsupported
```
Identify Version from Setup
Here is a simple pseudo code of my PHP tool which identify the version and the language of a Messenger setup:
**MSI file**
Language & Version: Read `ProductLanguage` and `ProductVersion` from the MSI file by querying its internal database: `SELECT Value FROM Property WHERE Property = %` (Windows users can use this tool: http://windowsitpro.com/systems-management/get-information-about-msi-files-just-few-clicks)
**MSP file**
**You have a patch and not a full version.**
- Language: `VS_VERSION_INFO struct > VarFileInfo > Translation` **of the setup file (not the msp file)**
- Version: Find the VS_VERSION_INFO (by hand?) struct, parse it and use `VS_VERSION_INFO struct > StringFileInfo > FileVersion`
**EXE file - First**
Try to extract file `msmsgs.exe` from your setup file using WinRAR.
If it works:
- Version: `VS_VERSION_INFO struct > StringFileInfo > FileVersion`.
- Language: Extract `msgslang.dll` and use language from the `VS_VERSION_INFO struct > VarFileInfo > Translation` (first 2 bytes are the language code).
**EXE file - Second**
Try to extract file `MsnMsgs.msi` from your setup file using WinRAR.
If if works:
- Language & Version: Read `ProductLanguage` and `ProductVersion` from the MSI file by querying its internal database: `SELECT Value FROM Property WHERE Property = %`
**EXE file - Third**
Try to extract file `MsnMsgs.msp` from your setup file using WinRAR.
If it works: **You have a patch and not a full version.**
- Language: `VS_VERSION_INFO struct > VarFileInfo > Translation` **of the setup file (not the msp file)**
- Version: Find the VS_VERSION_INFO (by hand?) struct and use `VS_VERSION_INFO struct > StringFileInfo > FileVersion`
-- Work in progress --
**EXE file - Fourth**
Check presence of resource `BOOTSTRAPPAYLOAD > MANIFEST.XML` and extract it.
If it works:
**You have a Live installer which may be a web installer (without anything in it) or an offline installer which may contains lot of programs of the Windows Live suite (including or not Messenger).**
- Check first 4 bytes: if they are `MSCF`, the XML config file is in a CAB file. Use `CabArc.exe` to extract the XML config file. Else, you probably already have a XML file.
- Open XML file.
- Jump to `XML file - First`
**EXE file - Fifth**
Check presence of resource `CATALOG > DEFAULT` and extract it.
If it works:
**You have a Live installer which may be a web installer (without anything in it) or an offline installer which may contains lot of programs of ther Windows Live suite (including or not Messenger).**
- Check first 4 bytes: if they are `MSCF`, the XML config file is in a CAB file. Use `CabArc.exe` to extract the XML config file. Else, you probably already have a XML file.
- Open XML file.
- Jump to `XML file - First`
**XML file - First**
- Search for packages with `id` starting with `Messenger` (xpath: `/catalog/package[starts-with(@id, "Messenger")]`).
- Filter the ones with the `source` property starting with `x-wlspkg://`
- If you are left with one result with a `language` property set to a language code, it means the Messenger setup includes its language pack.
- If you have 2 results, one with `language` set to `neutral` and one with `language` set to one language code, it means the Messenger setup and its language pack are in the ressource of the setup file: you need to extract both.
- If present, `xsFileName` is the filename of the file containing the extracted resource data. It can be a 7z file which needs to be uncompressed to give you another CAB file containing the final setup file. If absent, you should assume the file is a CAB file containing an msi file (just check the `engine` property).
**XML file - Second**
- Search for a package with `id="Messenger"` (xpath: `/Products/Product[@id="{A26D7C8B-875D-48E2-BED1-7168268D022A}"]`). If `SourceLocation` starts with `resource:`, the Messenger setup includes its language pack and is in the ressource of the setup file. If not, Messenger setup is not included. `xsFileName` is the filename of the Messenger setup.
**EXE file - Sixth**
Default to the data contained in the `VS_VERSION_INFO struct` of the setup file.