windows mobile下实现程序安装和卸载

安装CAB包的方法,网上一查就有:
1)ShellExecuteEx;
2)CreateProcess;
都要借助wceload.exe来实现。

当程序安装成功后,我们在设置->系统->删除程序里可以看到已安装程序列表。这些列表信息放在哪里呢?
答案是在注册表项HKEY_LOCAL_MACHINE\Security\AppInstall下,在该目录下可以看到刚才提到的相关程序名称。

来试试卸载:
假如AppInstall下有子一项,名称为AAA BBB,那么,对应的是我们在打包的时候,指定的Manufacturer和ProductName。网上也可以查到卸载方法:使用DMProcessConfigXML来完成:
LPCTSTR szXml =
L"<wap-provisioningdoc>"
L"<characteristic type=\"UnInstall\">"
L"<characteristic type=\"AAA BBB\">"
L"<parm name=\"uninstall\" value=\"1\"/>"
L"</characteristic>"
L"</characteristic>"
L"</wap-provisioningdoc>";

LPWSTR pszwXMLout = NULL;
HRESULT hr = DMProcessConfigXML(szXml, CFGFLAG_PROCESS, &pszwXMLout);
if ( pszwXMLout )
{
delete [] pszwXMLout;
pszwXMLout = NULL;
}

当然,使用该方法来卸载,一切都是悄无声息的,不会像在设置里删除程序时弹出提示。

你可能感兴趣的:(windows,Security,mobile,Windows Mobile,WAP)