下载的cab疑点与讨论

ProgrammerNO1 2009-09-28 11:06:00
从真机采用http方式从服务器下载pongduo.cab

我目前的情况是,cab下载到本地后,然后点击让它安装

而我现在想这样做:
当我点击“下载”按钮,我想在点击后cab下载并自动安装而且程序自动运行,这样能做到么,有什么方法没?
请高手们指点一下,谢谢了!



...全文
218 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓄丰 2009-10-29
  • 打赏
  • 举报
回复
来看看,
关注一下
ProgrammerNO1 2009-10-09
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 hhygcy 的回复:]
cab安装的时候如果要执行exe,那么setup.dll就可以 你在install_exit,里面去主动执行exe肯定可以。 至于你说的cab不见了,是在ppc上吧?为了节省空间安装完成的cab,系统会主动删除,如果你吧cab置为只读就不会删除了
[/Quote]

需求发生变化 ,我现在不把cab置为只读,用createprocess,按理说系统自动删除cab ,但是我再点击从服务器下载cab按键时,系统提示“是否覆盖之前旧版本”,这说明之前的cab还是存在啊(说明系统没主动删除cab),但是我在设备每个目录找遍了,也没发现呀,咋回事呢?
ProgrammerNO1 2009-10-09
  • 打赏
  • 举报
回复
升级完毕,,顶起来啊
wt0731 2009-09-30
  • 打赏
  • 举报
回复
可以做到,目前我实现的自动升级就是这样的。
用上ShellExecuteEx、CreateProcess和注册表就可以实现。
hhygcy 2009-09-30
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 programmerno1 的回复:]
1, 是ppc
2, 没搞过setup.dll这玩意 ,是不是生成了这个.dll后,一起打包到cab就可以了?
[/Quote]
对的 还要在cab的properties里面做些设定 关联到setup.dll
ProgrammerNO1 2009-09-30
  • 打赏
  • 举报
回复
1, 是ppc
2, 没搞过setup.dll这玩意 ,是不是生成了这个.dll后,一起打包到cab就可以了?
hhygcy 2009-09-29
  • 打赏
  • 举报
回复
cab安装的时候如果要执行exe,那么setup.dll就可以 你在install_exit,里面去主动执行exe肯定可以。 至于你说的cab不见了,是在ppc上吧?为了节省空间安装完成的cab,系统会主动删除,如果你吧cab置为只读就不会删除了
ProgrammerNO1 2009-09-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hhygcy 的回复:]
那你把你的要下载的程序搞成一个包.zip。不是前面几天看到有mobile上面的zlib吗,可以直接解压缩到对应目录,然后启动其中的exe
这样你觉得可行吗
[/Quote]

1, 这是一种方法,但目前不采用,我想实现的是当我cab自动安装后,能不能也自动执行里面的exe,有什么方法没?
2, 我用了createprocess,为什么我的cab不见了,按理说应该在“我的设备”里显示啊?咋回事?
ProgrammerNO1 2009-09-28
  • 打赏
  • 举报
回复
1, comiunknown, kabing,jinhaijian明白你们的意思(就是说cab已经下载到本地了),你们说的都是点cab后安装此cab并自动运行exe的问题
2, 我现在提出的是,从服务器在下载cab过程中,如果cab一下载完它能不能自动安装并运行exe,就是说不等到cab已经在本地出现后再点击cab这样一个情况
3, 是不是这样做根本就不能实现 ,还是难度太大?
jinhaijian 2009-09-28
  • 打赏
  • 举报
回复
下载完成后用wceload.exe来安装。
关于wceload参数,见MSDN
http://msdn.microsoft.com/en-us/library/bb158700.aspx
kabing 2009-09-28
  • 打赏
  • 举报
回复
createprocess
comiunknown 2009-09-28
  • 打赏
  • 举报
回复
cab包点“下载”后会自动运行安装程序,要安装后程序自动运行,你需要写一个setup.dll,在Install_Exit()里面启动你要运行的程序。
ProgrammerNO1 2009-09-28
  • 打赏
  • 举报
回复
我记得印象中也有过,可现在找不到了,呵呵,,
没想到找到了这个

http://topic.csdn.net/u/20090904/19/c5738000-748a-4cd4-8e69-8dc5b8ac8314.html?8390
hhygcy 2009-09-28
  • 打赏
  • 举报
回复
那你把你的要下载的程序搞成一个包.zip。不是前面几天看到有mobile上面的zlib吗,可以直接解压缩到对应目录,然后启动其中的exe
这样你觉得可行吗
ProgrammerNO1 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 hhygcy 的回复:]
引用 4 楼 programmerno1 的回复:
1, comiunknown, kabing,jinhaijian明白你们的意思(就是说cab已经下载到本地了),你们说的都是点cab后安装此cab并自动运行exe的问题
2, 我现在提出的是,从服务器在下载cab过程中,如果cab一下载完它能不能自动安装并运行exe,就是说不等到cab已经在本地出现后再点击cab这样一个情况
3, 是不是这样做根本就不能实现 ,还是难度太大?

不需要点击
你下载cab存成文件, 例如aa.cab
用createprocess或者shellexcute都可以执行:
http://blog.csdn.net/hhygcy/archive/2009/05/04/4147870.aspx
看看这里的执行代码就知道了
[/Quote]

1, 还没测试,暂缓
2, 想到另外一个问题:我自做的应用程序是从服务器上下载游戏软件,我程序里有个这样的实现,下载的aa.cab已存在于本地了,然后我再点击我设计的button(用于下载cab的),我弄了个提示对话框,弹出“你下载的程序(cab)已下载,是否运行?”,这时我点击确定后想运行aa.cab里的exe,因为这个游戏程序本身就有个exe,如果再通过createprocess这个方法就不太合适了吧,因为现在是想直接运行exe了,不需要自动安装cab的过程了,这个又有啥方法解决呀?
3,
hhygcy 2009-09-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 programmerno1 的回复:]
1, comiunknown, kabing,jinhaijian明白你们的意思(就是说cab已经下载到本地了),你们说的都是点cab后安装此cab并自动运行exe的问题
2, 我现在提出的是,从服务器在下载cab过程中,如果cab一下载完它能不能自动安装并运行exe,就是说不等到cab已经在本地出现后再点击cab这样一个情况
3, 是不是这样做根本就不能实现 ,还是难度太大?
[/Quote]
不需要点击
你下载cab存成文件, 例如aa.cab
用createprocess或者shellexcute都可以执行:
http://blog.csdn.net/hhygcy/archive/2009/05/04/4147870.aspx
看看这里的执行代码就知道了

7,657

社区成员

发帖
与我相关
我的任务
社区描述
Windows Phone是微软发布的一款手机操作系统,它将微软旗下的Xbox LIVE游戏、Zune音乐与独特的视频体验整合至手机中。
社区管理员
  • Windows客户端开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧