tekynet 阅读(1086) 评论(2)

大家在安装的sdk的Samples下面都能找到Setupdll这个例子

这个例子会生成个Setup.dll.

我们可以把Setup.dll添加到到自己项目的cab安装文件中,来完成在安装时候的各种复杂的操作,如:安装,卸载提示,各种信息消息提示,注册表修改等操作.

ms提供的例子里面演示的是在安装/卸载的时候对cfgclient.exe进行register和unregister操作

我们可以把这部分去掉,在下面的接口中写入自己想要的东东

Install_Init   安装开始的时候
Install_Exit 安装结束的时候
Uninstall_Init 卸载开始的时候
Uninstall_Exit 卸载结束的时候

例:
如果我们要在安装完成时候提示"安装完成,重起才能有效".
只要把代码改成下面的样子就可以了

#include "Aygshell.h"
...
SETUP_API codeINSTALL_EXIT Install_Exit(
    HWND    hwndParent,
    LPCTSTR pszInstallDir,      // final install directory
    WORD    cFailedDirs,
    WORD    cFailedFiles,
    WORD    cFailedRegKeys,
    WORD    cFailedRegVals,
    WORD    cFailedShortcuts
    )
{
    if(MessageBox(hwndParent, L"安装完成,重起才能有效", L"提示", MB_OKCANCEL) == IDOK)
 {
  ExitWindowsEx(EWX_REBOOT, 0);
 }

   return codeINSTALL_EXIT_DONE;
}

完成自己的setup.dll以后把这个dll添加到cab打包就可以了

具体添加操作就是在cab属性里面ce setupdll 选中这个setup.dll就行


 


评论列表
neverling
re: 给windows mobile cab安装包添加setup.dll实现自定义操作
在CE Setup Dll 添加了自定义dll以后,编译cab包,在PDA上安装以后为什么总是在调用dll的时候提示说:未能完成安装.我改怎么解决呢?急!

发表评论
切换编辑模式