Windows Mobile安装程序一般都是用cab包得形式,然后在系统里找到对应cab包,运行他,系统会自动调用wceload.exe程序来进行安装,这样很多东西就不在我们程序的控制之下了。这时候就需要一个特殊的setup.dll了,系统在安装程序的时候会加载我们的这个setup.dll。需要把这个setup.dll添加到工程cab部署项目中,来完成在安装时候的各种复杂的操作,如:安装,卸载提示,各种信息消息提示,注册表修改等操作。
在动态链接库中需要导出下列函数,原形如下:
//以下两个函数在cab安装时被调用
int Install_Init(HWND hwndParent,BOOL fFirstCall,BOOL fPreviouslyInstalled,LPCTSTR pszInstallDir); //返回0—继续,返回1—取消操作,不继续安装
int Install_Exit(HWND hwndParent, LPCTSTR pszInstallDir, WORD cFailedDirs, WORD cFailedFiles, WORD cFailedRegKeys, WORD cFailedRegVals, WORD cFailedShortcuts);// 返回0—安装完成,返回1—安装失败
//以下两个函数在卸载程序时被调用
int Uninstall_Init(HWND hwndParent, LPCTSTR pszInstallDir); //返回0—继续,返回1—取消操作,不继续卸载
int Uninstall_Exit(HWND hwndParent);//返回0—卸载成功
完成自己的setup.dll以后把这个dll添加到cab打包就可以了
具体添加操作就是在cab属性里面ce setupdll 选中这个setup.dll就行