[MDA III, XDA III, PDA2k, 9090 Software Upgrading] toenailed:
hi DayRavies..

SO sowee about the CAB Tutorial that i didnt finish .. we got so busy about the magneto .. that i put the WIKI tutorial on my least priority work .. :oops: .. but i will finish it bro .. anyway ..

the best option to create a cab is using the cabwiz especially one included in VS2005 Beta2 and Wince5.0 SDK .. since it has the Provisioning XML features ..

but you can still create the cab in WinCE Cab Manger .. you only need the OEM Cab and edit it .. i attach bro the example i use in WIKI page .. what you only need is to edit the Platformxxx.reg and CM_Entries.xml ..

Platformxxx.reg - contains some registry settings for ArcSoft MMS Composer or Other Settings like the GPRS Settings(CHAP Authentication and Class 10) or the GMT ..

CM_Entries.xml - contains the actual Provisioning XML

some idea is already in this page (but still not finish)

http://wiki.xda-developers.com/index.php?pagename=How to Create a GPRS Connections CAB: XML Method

heres some idea that i havent still included in the wiki ..

CM_Networks

<characteristic type="CM_Networks">
<characteristic type="Smart MMS Settings">
<parm name="DestId" value="{CB876A52-9744-4c91-955B-53CFC9861FE4}" />
</characteristic>
<characteristic type="Smart GPRS WAP Settings">
<parm name="DestId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" />
</characteristic>
<characteristic type="Smart GPRS Settings">
<parm name="DestId" value="{0112BB3C-ECF5-4dc5-A26D-51A4558CF756}" />
</characteristic>
</characteristic>

In CM_networks it created the Connections Settings like the Smart MMS Settings, Smart GPRS WAP Settings and the Smart GPRS Settings

but you need to create a unique DestID for this be able to create the Settings

You can create a DestId for Connections using your PPC and the registry .. heres how

1. Goto Network Management (Start->Settings->Connections Tab->COnnections->Advanced Tab->then Tap the "Select Networks" Button)

2. Then Tap the New Button(its oki tap in any of the two listbox)

3. Then "Enter a name for these settings" ex. "Smart MMS Settings", after that tap OK

4. Open Registry Editor (RegEdit or Resco Registry) then goto this Registry Section

[HKEY_LOCAL_MACHINE\Comm\ConnMgr\Destinations]

look for the Key Name of Your Connection Settings for Example the "Smart MMS Settings" so it will be

[HKEY_LOCAL_MACHINE\Comm\ConnMgr\Destinations\Smart MMS Settings]

under this key you will find the DestId just copy it save this will be your DestId for Smart MMS Settings

Smart MMS Settings = CB876A52-9744-4c91-955B-53CFC9861FE4

Smart GPRS WAP Settings = F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291

Smart GPRS Settings = 0112BB3C-ECF5-4dc5-A26D-51A4558CF756

CM_ProxyEntries

<characteristic type="CM_ProxyEntries">
<characteristic type="HTTP-{0112BB3C-ECF5-4dc5-A26D-51A4558CF756}">
<parm name="SrcId" value="{0112BB3C-ECF5-4dc5-A26D-51A4558CF756}" />
<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}" />
<parm name="Proxy" value="new-inet:1159" />
<parm name="Type" value="0" />
<parm name="Enable" value="1" />
</characteristic>
<characteristic type="HTTP-{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}">
<parm name="SrcId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" />
<parm name="DestId" value="{A1182988-0D73-439E-87AD-2A5B369F808B}" />
<parm name="Proxy" value="new-corp:1118" />
<parm name="Type" value="0" />
<parm name="Enable" value="1" />
</characteristic>
<characteristic type="WAP-{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}">
<parm name="SrcId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" />
<parm name="DestId" value="{7022E968-5A97-4051-BC1C-C578E2FBA5D9}" />
<parm name="Proxy" value="10.102.61.46:9201" />
<parm name="Type" value="2" />
<parm name="Enable" value="1" />
</characteristic>
<characteristic type="WTLS-{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}">
<parm name="SrcId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" />
<parm name="DestId" value="{F28D1F74-72BE-4394-A4A7-4E296219390C}" />
<parm name="Proxy" value="10.102.61.46:9203" />
<parm name="Type" value="2" />
<parm name="Enable" value="1" />
</characteristic>
</characteristic>

The Above code is setting the ProxyEntries and setting the Default Connections for Internet and Work Settings

the idea is we will set the Smart GPRS Settings as Default Internet Connections while the Smart WAP GPRS Settings as Default Private Network or Work Connections

following on the Setting in WIKI page

http://wiki.xda-developers.com/index.php?pagename=How to Create a GPRS Connections CAB: XML Method

Smart GPRS Settings - Doesnt have any proxy Server

Smart WAP GPRS Settings - sets

HTTP Proxy

Proxy Server: <None>

Proxy Port: <None>

WAP Proxy

Proxy Server: 10.102.61.46

Proxy Port: 9201

Secure WAP Proxy

Secure Wap Proxy:10.102.61.46

Secure Wap Port: 9203

:!: To Make the "Smart GPRS Settings" The Default Internet Connection you need to set the connection -> "The Internet" to Smart GPRS Settings

The Internet -> DestId is 436EF144-B4FB-4863-A041-8F905A62C572

:!: To Make the "Smart WAP GPRS Settings" The Default Private Network Connections you need to set the connection to "Work" to Smart WAP GPRS Settings

Work -> DestId is A1182988-0D73-439E-87AD-2A5B369F808B

:!: if you need to Set the WAP Proxy you need to set the Setting to the "The Wap Network" connections

The Wap Network -> DestId is 7022E968-5A97-4051-BC1C-C578E2FBA5D9

:!: if you need to Set the Secure WAP Proxy you need to set the Setting to the "Secure Wap Network" connections

Secure Wap Network -> DestId is F28D1F74-72BE-4394-A4A7-4E296219390C

ALL OF THIS CAN BE FOUND IN THIS REGISTRY SECTION

[HKEY_LOCAL_MACHINE\Comm\ConnMgr\Destinations]

To Set the Proxy

for HTTP

<characteristic type="HTTP-{(DestId of the Settings)}">

for WAP

<characteristic type="WAP-{(DestId of the Settings)}">

for Secure WAP Network

<characteristic type="WTLS-{(DestId of the Settings)}">

for SOCKS

<characteristic type="SOCKS-{(DestId of the Settings)}">

To Set the Parameter of the Proxy Server

<parm name="Proxy" value="(ProxyServer:Port)" />

if not applicable use

for "The Internet"

new-inet:1159

for "Work

new-corp:1118

To Set the Proxy Type

<parm name="Type" value="0" />

Value is set to

0 = Proxy is not Applicable

1 = Set the Http Proxy Server

2 = Set the WAP or Secure Wap Network Proxy Server

4 = Set the SOCKS 4

8 = Set the SOCKS 5

To Make the Smart GPRS Settings the Default Connections

Make the Smart GPRS Settings(Source settings) Copy it to the the "The Internet"(Destination Settings)

<parm name="SrcId" value="{0112BB3C-ECF5-4dc5-A26D-51A4558CF756}" /> <- "Smart GPRS Settings" DestId -Source Settings

<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}" /> <- "The Internet" DestId -Destination Settings

and Since it doesnt have any Proxy Settings .. Smart GPRS Settings -> ProxyEntries should look like this

<characteristic type="HTTP-{0112BB3C-ECF5-4dc5-A26D-51A4558CF756}">
<parm name="SrcId" value="{0112BB3C-ECF5-4dc5-A26D-51A4558CF756}" />
<parm name="DestId" value="{436EF144-B4FB-4863-A041-8F905A62C572}" />
<parm name="Proxy" value="new-inet:1159" />
<parm name="Type" value="0" />
<parm name="Enable" value="1" />
</characteristic>

To Make the Smart WAP GPRS Settings the Default Connections

Make the Smart WAP GPRS Settings(Source settings) Copy it to the the "Work"(Destination Settings)

<parm name="SrcId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" /> <- "Smart GPRS Settings" DestId -Source

<parm name="DestId" value="{A1182988-0D73-439E-87AD-2A5B369F808B}" /> <- "Work" DestId - Destination

same goes to the WAP

<parm name="SrcId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" /> <- "Smart GPRS Settings" DestId -Source

<parm name="DestId" value="{7022E968-5A97-4051-BC1C-C578E2FBA5D9}" /> <- "The WAP Network" DestId- Destination

and Secure WAP

<parm name="SrcId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" /> <- "Smart GPRS Settings" DestId -Source

<parm name="DestId" value="{F28D1F74-72BE-4394-A4A7-4E296219390C}" /> <- "Secure WAP Network" DestId - Destination

<characteristic type="HTTP-{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}">
<parm name="SrcId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" />
<parm name="DestId" value="{A1182988-0D73-439E-87AD-2A5B369F808B}" />
<parm name="Proxy" value="new-corp:1118" />
<parm name="Type" value="0" />
<parm name="Enable" value="1" />
</characteristic>
<characteristic type="WAP-{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}">
<parm name="SrcId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" />
<parm name="DestId" value="{7022E968-5A97-4051-BC1C-C578E2FBA5D9}" />
<parm name="Proxy" value="10.102.61.46:9201" />
<parm name="Type" value="2" />
<parm name="Enable" value="1" />
</characteristic>
<characteristic type="WTLS-{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}">
<parm name="SrcId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" />
<parm name="DestId" value="{F28D1F74-72BE-4394-A4A7-4E296219390C}" />
<parm name="Proxy" value="10.102.61.46:9203" />
<parm name="Type" value="2" />
<parm name="Enable" value="1" />
</characteristic>

CM_GPRSEntries

<characteristic type="CM_GPRSEntries">
<characteristic type="Smart Internet">
<parm name="DestId" value="{0112BB3C-ECF5-4dc5-A26D-51A4558CF756}" />
<parm name="Enabled" value="1" />
<parm name="UserName" value="" />
<parm name="Password" value="" />
<parm name="Domain" value="" />
<parm name="SpecificIpAddr" value="0" />
<parm name="IpAddr" value="" />
<parm name="SpecificNameServers" value="1" />
<parm name="DnsAddr" value="202.57.96.3" />
<parm name="AltDnsAddr" value="202.57.96.4" />
<parm name="WinsAddr" value="" />
<parm name="AltWinsAddr" value="" />
<characteristic type="DevSpecificCellular">
<parm name="BearerInfoValid" value="1" />
<parm name="GPRSInfoValid" value="1" />
<parm name="GPRSInfoProtocolType" value="2" />
<parm name="GPRSInfoL2ProtocolType" value="PPP" />
<parm name="GPRSInfoAccessPointName" value="internet" />
<parm name="GPRSInfoAddress" value="" />
<parm name="GPRSInfoDataCompression" value="1" />
<parm name="GPRSInfoHeaderCompression" value="1" />
<parm name="GPRSInfoParameters" value="" />
</characteristic>
</characteristic>
<characteristic type="Smart GPRS">
<parm name="DestId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" />
<parm name="Enabled" value="1" />
<parm name="UserName" value="" />
<parm name="Password" value="" />
<parm name="Domain" value="" />
<parm name="SpecificIpAddr" value="0" />
<parm name="IpAddr" value="" />
<parm name="SpecificNameServers" value="0" />
<parm name="DnsAddr" value="" />
<parm name="AltDnsAddr" value="" />
<parm name="WinsAddr" value="" />
<parm name="AltWinsAddr" value="" />
<characteristic type="DevSpecificCellular">
<parm name="BearerInfoValid" value="1" />
<parm name="GPRSInfoValid" value="1" />
<parm name="GPRSInfoProtocolType" value="2" />
<parm name="GPRSInfoL2ProtocolType" value="PPP" />
<parm name="GPRSInfoAccessPointName" value="smart1" />
<parm name="GPRSInfoAddress" value="" />
<parm name="GPRSInfoDataCompression" value="1" />
<parm name="GPRSInfoHeaderCompression" value="1" />
<parm name="GPRSInfoParameters" value="" />
</characteristic>
</characteristic>
<characteristic type="Smart MMS">
<parm name="DestId" value="{CB876A52-9744-4c91-955B-53CFC9861FE4}" />
<parm name="Enabled" value="1" />
<parm name="UserName" value="" />
<parm name="Password" value="" />
<parm name="Domain" value="" />
<parm name="SpecificIpAddr" value="0" />
<parm name="IpAddr" value="" />
<parm name="SpecificNameServers" value="0" />
<parm name="DnsAddr" value="" />
<parm name="AltDnsAddr" value="" />
<parm name="WinsAddr" value="" />
<parm name="AltWinsAddr" value="" />
<characteristic type="DevSpecificCellular">
<parm name="BearerInfoValid" value="1" />
<parm name="GPRSInfoValid" value="1" />
<parm name="GPRSInfoProtocolType" value="2" />
<parm name="GPRSInfoL2ProtocolType" value="PPP" />
<parm name="GPRSInfoAccessPointName" value="mms" />
<parm name="GPRSInfoAddress" value="" />
<parm name="GPRSInfoDataCompression" value="1" />
<parm name="GPRSInfoHeaderCompression" value="1" />
<parm name="GPRSInfoParameters" value="" />
</characteristic>
</characteristic>
</characteristic>

Above Code is uses to create a Modem Connections for Specific Connection Settings

for Example if we want to create a modem

for Smart GPRS Settings

we will create the Smart Internet Modem

for Smart WAP GPRS Settings

we will create the Smart GPRS Modem

and for Smart MMS Settings

we will create the Smart MMS Modem

following on the WIKI Page ..

FOR MMS Settings

APN: mms

username:<blank>

password:<blank>

domain:<blank>

IP Address: <Server-Assigned>

Primary DNS: <Server-Assigned>

Secondary DNS: <Server-Assigned>

FOR Internet GPRS Settings

APN: internet

username:<blank>

password:<blank>

domain:<blank>

IP Address: <Server-Assigned>

Primary DNS: 202.57.96.3

Secondary DNS: 202.57.96.4

FOR WAP Settings

APN: smart1

username:<blank>

password:<blank>

domain:<blank>

IP Address: <Server-Assigned>

Primary DNS: 202.57.96.3

Secondary DNS: 202.57.96.4

we will focus only on this following code and leave the other as it is

<parm name="DestId" value="{CB876A52-9744-4c91-955B-53CFC9861FE4}" />
<parm name="UserName" value="" />
<parm name="Password" value="" />
<parm name="Domain" value="" />
<parm name="SpecificIpAddr" value="0" />
<parm name="IpAddr" value="" />
<parm name="SpecificNameServers" value="0" />
<parm name="DnsAddr" value="" />
<parm name="AltDnsAddr" value="" />
<parm name="WinsAddr" value="" />
<parm name="AltWinsAddr" value="" />
<characteristic type="DevSpecificCellular">
<parm name="GPRSInfoAccessPointName" value="mms" />

To Set the IP Address

<parm name="SpecificIpAddr" value="0" />

Value Can be set in

0 = Use Server-Assigned IP Address

1 = Use Specific IP Address

<parm name="IpAddr" value="" />

Value is the IP Address .. if the SpecificIpAddr is set to 0 leave the value blank

To Set the Server Address

<parm name="SpecificNameServers" value="0" />

Value Can be set in

0 = Use Server-Assigned Address

1 = Use Specific server Address

if Specific Server Address

just set the value for

<parm name="DnsAddr" value="" /> <- Primary DNS

<parm name="AltDnsAddr" value="" /> <- Secondary DNS

<parm name="WinsAddr" value="" /> <- Primary WINS

TO Set the Access Point NAME (APN)

Create a DevSpecificCellular Characteristic Type

<characteristic type="DevSpecificCellular">

then under it is the GPRSInfoAccessPointName and its value

<parm name="GPRSInfoAccessPointName" value="mms" /> <- Example of APN is "mms"

To Create a Modem for Smart GPRS Settings

<characteristic type="Smart Internet"> <- Name of the Modem Connection

<parm name="DestId" value="{0112BB3C-ECF5-4dc5-A26D-51A4558CF756}" /> <- DestId of Smart GPRS Settings

and since APN, Primary and Secondary DNS is set this should it look like

<characteristic type="Smart Internet">
<parm name="DestId" value="{0112BB3C-ECF5-4dc5-A26D-51A4558CF756}" />
<parm name="Enabled" value="1" />
<parm name="UserName" value="" />
<parm name="Password" value="" />
<parm name="Domain" value="" />
<parm name="SpecificIpAddr" value="0" />
<parm name="IpAddr" value="" />
<parm name="SpecificNameServers" value="1" />
<parm name="DnsAddr" value="202.57.96.3" />
<parm name="AltDnsAddr" value="202.57.96.4" />
<parm name="WinsAddr" value="" />
<parm name="AltWinsAddr" value="" />
<characteristic type="DevSpecificCellular">
<parm name="BearerInfoValid" value="1" />
<parm name="GPRSInfoValid" value="1" />
<parm name="GPRSInfoProtocolType" value="2" />
<parm name="GPRSInfoL2ProtocolType" value="PPP" />
<parm name="GPRSInfoAccessPointName" value="internet" />
<parm name="GPRSInfoAddress" value="" />
<parm name="GPRSInfoDataCompression" value="1" />
<parm name="GPRSInfoHeaderCompression" value="1" />
<parm name="GPRSInfoParameters" value="" />
</characteristic>
</characteristic>

To Create a Modem for Smart WAP GPRS Settings

<characteristic type="Smart GPRS"> <- Name of Modem

<parm name="DestId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" /> <- DestId of Smart WAP GPRS Settings

and since only the APN is set this should it look like

<characteristic type="Smart GPRS">
<parm name="DestId" value="{F9B4CC28-FE1A-4d87-BAED-EE2DC5CCF291}" />
<parm name="Enabled" value="1" />
<parm name="UserName" value="" />
<parm name="Password" value="" />
<parm name="Domain" value="" />
<parm name="SpecificIpAddr" value="0" />
<parm name="IpAddr" value="" />
<parm name="SpecificNameServers" value="0" />
<parm name="DnsAddr" value="" />
<parm name="AltDnsAddr" value="" />
<parm name="WinsAddr" value="" />
<parm name="AltWinsAddr" value="" />
<characteristic type="DevSpecificCellular">
<parm name="BearerInfoValid" value="1" />
<parm name="GPRSInfoValid" value="1" />
<parm name="GPRSInfoProtocolType" value="2" />
<parm name="GPRSInfoL2ProtocolType" value="PPP" />
<parm name="GPRSInfoAccessPointName" value="smart1" />
<parm name="GPRSInfoAddress" value="" />
<parm name="GPRSInfoDataCompression" value="1" />
<parm name="GPRSInfoHeaderCompression" value="1" />
<parm name="GPRSInfoParameters" value="" />
</characteristic>
</characteristic>

To Create a Modem for Smart MMS Settings

<characteristic type="Smart MMS"> <- Name of Modem

<parm name="DestId" value="{CB876A52-9744-4c91-955B-53CFC9861FE4}" /> <- DestId of Smart MMS Settings

and since also only the APN is set this should it lalso ook like

<characteristic type="Smart MMS">
<parm name="DestId" value="{CB876A52-9744-4c91-955B-53CFC9861FE4}" />
<parm name="Enabled" value="1" />
<parm name="UserName" value="" />
<parm name="Password" value="" />
<parm name="Domain" value="" />
<parm name="SpecificIpAddr" value="0" />
<parm name="IpAddr" value="" />
<parm name="SpecificNameServers" value="0" />
<parm name="DnsAddr" value="" />
<parm name="AltDnsAddr" value="" />
<parm name="WinsAddr" value="" />
<parm name="AltWinsAddr" value="" />
<characteristic type="DevSpecificCellular">
<parm name="BearerInfoValid" value="1" />
<parm name="GPRSInfoValid" value="1" />
<parm name="GPRSInfoProtocolType" value="2" />
<parm name="GPRSInfoL2ProtocolType" value="PPP" />
<parm name="GPRSInfoAccessPointName" value="mms" />
<parm name="GPRSInfoAddress" value="" />
<parm name="GPRSInfoDataCompression" value="1" />
<parm name="GPRSInfoHeaderCompression" value="1" />
<parm name="GPRSInfoParameters" value="" />
</characteristic>
</characteristic>

PS .. i will put this in wiki and include the full details for each code with full description .... :)

-toe