如何在Setup.dll中获取CAB的文件名和当前路径?

mikeylover   2008-10-23 16:10 楼主
如题...搞了半天没搞出来...
目的在于在安装CAB文件时将自己备份到别的地方.

回复评论 (6)

顶一下

顺便再问下,在Setup.dll中如何获得生成CAB的.inf文件中设置的AppName,Provider等属性值?
点赞  2008-10-23 17:26
你这要求也挺奇怪的,不过GetModuleFileName就可以得到你的路径名了。
点赞  2008-10-23 21:34
你好,先前试过,不行
BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                                         )
{
    WCHAR fileName[256]={0};
    //我想得到的是CAB的路径和文件名
    GetModuleFileName(hModule,fileName,256);//得到的是Setup.dll
    GetModuleFileName(NULL,fileName,256);//得到的是Wceload.exe

    WCHAR *lpFilename = GetCommandLine();//后来想到系统是用Wceload.exe安装的CAB,找到这个方法就可以得到CAB的路径和文件名
    //接下来想得到CAB更多的信息
    return TRUE;
}

我只是想做一个WinCE系统冷启动自动重装CAB(可以多个)的功能,实现冷启动不丢程序的目的;这样就要AppName,Provider,InstallDir等信息了,InstallDir到是可以得到,但想在得到CAB中的AppName,Provider等信息就不知道怎么办了,如果大家有什么方法或的更好的方案,就请大家帮帮忙不吝赐教啊,谢谢了~~
点赞  2008-10-23 22:01
分太少没人?谁能解答?给加100分
点赞  2008-10-24 13:10
自己解压缩CAB包, 用winrar解出可以得到_setup.xml文件, 具体参考Wince Cab Manager.
点赞  2008-10-24 15:40
我觉得就2种方法,一种是build进去,在startup下启动安装程序,如果安装了就不再安装。另一种是用pkg或imageupdate方式升级。
点赞  2008-10-24 16:00
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复