如何通过编程的方式卸载Windows Mobile程序
我觉得这个主题对我很有帮助。
以编程得方式卸载Windows Mobile程序一个比较简单得方法就是利用CSP( Uninstall Configuration Service Provider )。利用CSP可以达到在后台静悄悄的卸载
程序但目的对于处理软件自动升级比较有帮助。也可以应用在某些设备安全程序中,可以在用户没有任何察觉的基础上在后台卸载一些程序。
具体实现的原理是向设备推送一个xml配置文件给CSP,让它执行卸载操作。我们可以使用DMProcessConfigXML函数来实现。
DMProcessConfigXML(LPCWSTR pszWXMLin, DWORD dwFlags, LPWSTR* ppszwXMLout)
这是基于本地代码的调用,这个函数的详细介绍见MSDN。这里只说一下如何把它封装成托管代码调用。
public static XmlDocument ProcessConfiguration ( XmlDocument configDoc, bool metadata)
下面是一个xml配置文件的例子:
<wap-provisioningdoc>
<characteristic type="UnInstall">
<characteristic type="Your App">
<parm name="uninstall" value="1" />
</characteristic>
</characteristic>
</wap-provisioningdoc>
把“Your App”改成你需要卸载的程序的名称就可以了。
很简单吧,可是我还没有试过。大家试试看如何。
请注意一点,如果你要卸载的程序有setup.dll,并且在卸载时有自定义的界面。那么无法在使用此方法卸载程序时,这写自定义的界面还是会出现的。