Using the UnInstall Configuration Service Provider

Among the Configuration providers in Windows Mobile is one which allows you to programmatically uninstall package from the device. The UnInstall provider is documented here:-


http://msdn2.microsoft.com/en-us/library/aa455977.aspx


To see if your package can be uninstalled you send the following XML – e.g. using DMProcessConfig.XML or ProcessConfiguration in managed code.


<wap-provisioningdoc>
   <characteristic type=”UnInstall”>
      <characteristic-query type=”YourAppName”/>
   </characteristic>
</wap-provisioningdoc>


Replacing YourAppName with the name of your installation package usually “CompanyName Product” as defined in your device CAB project. The response will look something like this if the package name is found:-

<wap-provisioningdoc>
<characteristic type=”UnInstall”>
<characteristic type=”YourAppName”>
<parm name=”uninstall” value=”0″/>
</characteristic>
</characteristic>
</wap-provisioningdoc>

Then you can uninstall the package using:-


<wap-provisioningdoc>
   <characteristic type=”UnInstall”>
      <characteristic type=”YourAppName”>
         <parm name=”uninstall” value=”1″/>   
      </characteristic>
   </characteristic>
</wap-provisioningdoc>