社区
其他开发语言
帖子详情
InstallShield 做的安装包的版本更新问题
ccnuxjg
2003-03-24 04:08:19
用InstallShield做了安装包a之后,如果当前机器上已经有了a的旧版本。我现在要在这台机器上面直接覆盖安装,该怎么做?
我用8.0的upgrade属性来做的话,如果我的安装包里面有abc.exe和readme.txt两个文件,我直接更新以前的版本,readme.txt文件可以被更新,但是abc.exe却总是旧版本的文件。这是怎么回事啊?
...全文
512
9
打赏
收藏
InstallShield 做的安装包的版本更新问题
用InstallShield做了安装包a之后,如果当前机器上已经有了a的旧版本。我现在要在这台机器上面直接覆盖安装,该怎么做? 我用8.0的upgrade属性来做的话,如果我的安装包里面有abc.exe和readme.txt两个文件,我直接更新以前的版本,readme.txt文件可以被更新,但是abc.exe却总是旧版本的文件。这是怎么回事啊?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dawner
2003-04-29
打赏
举报
回复
兄弟,我已经知道怎样做了,原理正如上面zhaoziy(天翔)所说,只不过操作不是那样,我的做法是在OnMaintUIBefore()过程中用一个If语句来判断,首先你将 PROGRAMFILES ^ "InstallShield Installation Information"^“GUID”下面的所有文件先Copy出来,然后再在注册表里面读一键值(当然首先注册表里键值就不存在),如果不存在表示现在你想用覆盖的方式来安装此时你就选用修复的程序语句来控制ComponentReinstall(); 在修复完后你再将键值填上,同时将刚才你Copy的文件再Copy回去,覆盖掉现在安装的信息,如果键值存在你就卸载,此时执行本应Remove里面的内容。注意每次升级时所设的键值都是新的,不能重复。如果有问题给我来Email:dawner@yeah.net,欢迎探讨!!我使用这种方法已经完成我的Project。
补充一点,Copy原来的文件来覆盖现在的安装信息是在OnMaintUIAfter过程里面做的,不是OnMaintUIBefore里面,注意!
zhaoziy
2003-04-25
打赏
举报
回复
改写OnMaintUIBefore(),用OnFirstUIBefore()的所有代码进行替换即可。
dawner(dawner) 的问题,思路如下:
将SdWelcomeMaint用AskOptions换掉,就可以使用你自己想让用户看到的选项。可以仅给定两个选项,一是修复,调用ComponentReinstall();二是卸载,调用ComponentRemoveAll()。
有问题可以问我:tianxiang122@sohu.com
qiuafa
2003-04-15
打赏
举报
回复
劫分&捧场
ccnuxjg
2003-04-09
打赏
举报
回复
楼上的老大,我就是要做这样的功能阿
dawner
2003-04-07
打赏
举报
回复
((修改你对应的那个文件所对应的Component属性有一项选择为Always overwrite(总是覆盖方式)))
你这种解决问题的过程中是不是会出现一个让你选择安装类型的窗口(Modify,Repair,Remove)三个,能不能在安装的过程中如果直接检测到现在的文件新就直接替换,而不要弹出选择框(Modify,Repair,Remove),直接选用Repair呢,怎么做,有源码吗?Email:dawner@yeah.net!谢谢!!
BlueSunspot
2003-04-04
打赏
举报
回复
修改你对应的那个文件所对应的Component属性有一项选择为Always overwrite(总是覆盖方式)
aiyaya
2003-04-04
打赏
举报
回复
up
ccnuxjg
2003-04-02
打赏
举报
回复
继续up
ccnuxjg
2003-03-28
打赏
举报
回复
up
Installshield
的
安装包
更新
了却还是之前的软件
问题
:
Installshield
的
安装包
,即使把
版本
号增加了,但是依旧会出现软件打开依旧是老
版本
的情况,把旧软件删除了就不会出现这个
问题
,但是在老
版本
还在的情况下,选择覆盖
更新
就会还是打开老
版本
的情况 解决方法:将Application File中所有的文件,右键点属性 把Always OverWrite勾上 ...
解决添加Com引用 生成的Interop.*.dll
版本
号永远是1.0的
问题
在项目里面,添加对COM的引用时,自动生成了Interop.*.dll,但是这个dll的
版本
号永远是1.0. 如果使用
InstallShield
制作
安装包
,进行修改安装时,这个dll不会被
更新
,就因为
版本
号永远是1.0 想修改这个
版本
号,没找到便捷的办法,就用 TlbImp.exe 重新导出一个dll,这个工具可以带上
版本
号的。 TlbImp.exe ( 类型库导入程序)参考资料 ...
Installshield
12
安装包
制作工具
一. 说明。 阅读对象:本人,IS的初学者。适用
版本
:
Installshield
12。目的: 为了让初学IS的朋友少走些弯路,虽然不是很好的宝典,但里面很多细节都是制作
安装包
常碰到 的经典
问题
。另外,也为了给自己留一些资料,方便以后查询,人的记忆力有限嘛。 内容: 制作一个简单的
安装包
;制作定制的
安装包
;其它细节注意;
InstallShield
使用完全教程
InstallShield
Installshield
是一个强大和易于使用,用于解决Windows软件
安装包
开发的制作工具。用它可以以传统MSI方式和虚拟格式,自动化地封装、捆绑和包装你的产品。 IntallShield能使你的用户在决定何时何地何方式管理和部署你的应用程序时,得到一个最时尚舒畅的安装体验。是Microsoft Windows平台上应用程序安装打包领域,使用最广泛和市场认可...
InstallShield
2015 Limited Edition:专业软件
安装包
的快速构建
InstallShield
2015 Limited Edition 是一款广泛应用于软件开发领域的
安装包
制作工具,尤其适用于需要在Microsoft Windows操作系统上部署软件应用的开发者。本章节将作为全书的引入,为读者概述
InstallShield
2015 LE的核心价值、基本功能以及它在软件部署和安装过程中的重要性。
InstallShield
提供了多种预定义的安装项目模板,这些模板针对不同的需求提供了基本的安装程序设置,用户可以根据自己的项目需求快速开始。基础安装模板。
其他开发语言
3,425
社区成员
15,624
社区内容
发帖
与我相关
我的任务
其他开发语言
其他开发语言 其他开发语言
复制链接
扫一扫
分享
社区描述
其他开发语言 其他开发语言
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章