制作wince的CAB安装程序时,注册表的配置。

wangyg007   2010-1-11 13:15 楼主



大家都知道wince的Windows目录是无法断电保存文件的。

安装WINCE驱动程序时,相关的注册表中包含了DLL的文件名,如果我们不将DLL放在Windows目录下,那么这个文件名必须是文件的全路径,而使用CAB安装包是,用户选择的路径是不固定的,怎么才能把这个驱动DLL的路径自动的设置为安装路径呢。谢谢

列如:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\DrvDemo]
        "Index"=dword:1
        "Prefix"="DRV"
        "Dll"="DrvDemo.dll"
        "Order"=dword:0

如果我现在的安装路径为"\\NandFlash",那么注册表应该如下设置
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\DrvDemo]
        "Index"=dword:1
        "Prefix"="DRV"
        "Dll"="\\NandFlash\\DrvDemo.dll"
        "Order"=dword:0

回复评论 (7)

我见过一些驱动安装软件,不用你选择安装目录,自动找到CE的安装目录,后来自己也找了个软件生成器,都是要自己选择目录的,楼主可以研究研究
点赞  2010-1-11 13:18
引用: 引用 1 楼 cfanlwn 的回复:
我见过一些驱动安装软件,不用你选择安装目录,自动找到CE的安装目录,后来自己也找了个软件生成器,都是要自己选择目录的,楼主可以研究研究


自动找到CE的安装目录是什么意思啊
点赞  2010-1-11 14:01
应该编写setup.dll就可以了吧,而且在打包cab的时候可以指定文件的路径
点赞  2010-1-11 15:23
那要看你用什么工具了,我是用CAB Manager
点赞  2010-1-11 17:34
制作cab的时候可以配置dll的绝对安装路径,至少wince cab manager和vs2005这两个工具都可以
点赞  2010-1-11 18:24
LS正解。LZ可以试试wince cab manager。
点赞  2010-1-11 18:25
我就是用的wince cab manager

找到解决办法了,感谢各位

解决办法是直接在注册表中写入如下:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\DrvDemo]
"Index"=dword:1
"Prefix"="DRV"
"Dll"="%InstallDir%\DrvDemo.dll"
"Order"=dword:0

就可以了,比如你安装到Program路径,那么最终注册表值如下:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\DrvDemo]
"Index"=dword:1
"Prefix"="DRV"
"Dll"="\Program\DrvDemo.dll"
"Order"=dword:0


点赞  2010-1-11 23:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复