用户操作
[留言]  [发消息]  [加为好友] 
订阅我的博客
XML聚合    FeedSky
订阅到鲜果
订阅到Google
订阅到抓虾
pknife的公告
版权所有,转载本人博客文章,请征求本人同意并注明出处,谢谢! 欢迎加入Windows Mobile开发QQ群:31878262
文章分类
    我的链接
    DevDiv移动开发论坛
    存档

    原创  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;
    }

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

    发表于 @ 2009年05月06日 14:41:00 | 评论( loading... ) | 编辑| 举报| 收藏

    旧一篇:windows mobile下文件的压缩与解压缩 | 新一篇:Windows mobile上获取输入光标位置

    • 发表评论
    • 评论内容:
    •  
    Copyright © pknife
    Powered by CSDN Blog