100分 C#安装包升级制作问题请教

lmjob 2009-04-16 03:40:45
我现在用vs2005 安装部署一个mysql安装包,现在想对该安装包做升级包

现在新安装包要根据已安装的版本号来更新相应数据库,
如果ProductCode不改变的话,如果重新双击安装包进行安装,系统则提示“已安装该产品的另一个版本”

后面经过google查到了说,把Version属性改变版本号,然后再改变ProductCode,但安装后
在添加删除程序里多出一个安装记录,相当于是另一个产品,把removepreviousversions属性设为true后,在点击新安装包重新安装后自动把以前的版本悄悄的卸载掉了(所有目录包括数据库文件全部移除了)
所以也没办法检测前一个到底是哪个版本,所有的数据文件也丢了,郁闷中……,感觉.NET打包机制太笨了!

急求:.NET安装包的升级机制,
有没有保持ProductCode不变,只改变Version或UpgradeCode来实现升级,并且以前版本存在的文件不自动覆盖
在线等待中……

别告诉我用InstallShare12来做安装程序,因为现在时间来不急了,产品明天就要交货了!
...全文
181 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
sharp_future 2009-04-17
  • 打赏
  • 举报
回复
安装还可以,升级就不知道怎么搞了,帮顶
hanyu0528 2009-04-17
  • 打赏
  • 举报
回复
UP
none99999 2009-04-17
  • 打赏
  • 举报
回复
你还是直接把程序打包成ZIP吧,然后下次覆盖
feifeiyiwen 2009-04-17
  • 打赏
  • 举报
回复
学习,帮顶。。
POWER_WONG 2009-04-17
  • 打赏
  • 举报
回复
关注一下,顶一下。
热学沸腾56 2009-04-17
  • 打赏
  • 举报
回复
学习,帮顶。。
fanbo 2009-04-17
  • 打赏
  • 举报
回复
用自己的打包程序不好吗?
blestcc 2009-04-17
  • 打赏
  • 举报
回复
自己寫個升級工具,或者用其它打包工具來實現吧。
lmjob 2009-04-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 m777 的回复:]
仅仅用VS带的打包程序,做你上面说的这个基本上很难!
我现在做法,如果数据库不是几个G的级别,自己写一个程序,这个程序要做的是:
第一、把你需要更新程序做成RAR或者ZIP格式,然后用你做的程序,点升级,自动解压RAR,替换原来系统中的全部程序文件
第二、将客户原来数据导入到新的数据结构中,然后执行一个SQL文本,更新你需要更新的东西!
第三、用导入后的数据,替换原来老的数据库,我替换的方法是先备份一下导入…
[/Quote]



第二条好像不行了,因为客户原来的数据都删掉了,怎么导入到新的数据结构
homejiji 2009-04-17
  • 打赏
  • 举报
回复
ding!!!!
蓝海D鱼 2009-04-17
  • 打赏
  • 举报
回复
换个 打包程序把 installshield 比较好
boywangliang 2009-04-17
  • 打赏
  • 举报
回复
weir55 2009-04-17
  • 打赏
  • 举报
回复
你博客园你找找
这方面的资料比较多
goldxinx 2009-04-16
  • 打赏
  • 举报
回复
Rar 自解压格式
sushou2009 2009-04-16
  • 打赏
  • 举报
回复
UP,我一般都用自带的安装程序打包...不过说实话 确实不太好用
zucc_sjj 2009-04-16
  • 打赏
  • 举报
回复
路过,帮顶~~~~
wuyq11 2009-04-16
  • 打赏
  • 举报
回复
通过安装类判断版本号,实现升级
参考
txt_paul 2009-04-16
  • 打赏
  • 举报
回复
倾城一顶。 赤果果的接分
txt_paul 2009-04-16
  • 打赏
  • 举报
回复
倾情一顶。 低手路过。
m777 2009-04-16
  • 打赏
  • 举报
回复
仅仅用VS带的打包程序,做你上面说的这个基本上很难!
我现在做法,如果数据库不是几个G的级别,自己写一个程序,这个程序要做的是:
第一、把你需要更新程序做成RAR或者ZIP格式,然后用你做的程序,点升级,自动解压RAR,替换原来系统中的全部程序文件
第二、将客户原来数据导入到新的数据结构中,然后执行一个SQL文本,更新你需要更新的东西!
第三、用导入后的数据,替换原来老的数据库,我替换的方法是先备份一下导入数据的新数据库备份,然后在还原

以上方法对数据量小的还是比较合适,数据太多,不大合适!你可以自己再想象!
加载更多回复(1)

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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