c# 安装部署时遇到的一个问题,请高手帮忙解答~

y342921318 2010-11-13 09:21:02
之前已经在系统中安装好程序,现在程序已经更新,我使用 安装和部署 来升级,已经修改remoteprivoe..., 这个属性为true,已经修改Permanent为true,已经修改程序的版本号和产品号.这个生成后的程序可以正常安装,但奇怪的是我在安装的目录里面发现里面的内容竟然还是上一次未升级之前的内容.
我试着把这个里面的内容删除掉,重新再运行一次刚生成的升级程序,修复后再来到安装目录,这一次程序成功安装到这个目录了.

试问,为什么升级程序不能把之前的程序覆盖安装??

这两天就要升级程序了,电脑比较多不可能一台一台的去先删除再安装的了,高手帮忙~,跪求~
...全文
140 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
沝林 2010-11-13
  • 打赏
  • 举报
回复
可以按楼上的使用自动更新来做,但是需要花一些时间来熟悉和搭环境;当然你也可以使用Major Upgrades方式制作升级安装包,或者制作补丁包,如果软件体积不大,最好用Major Upgrades方式,它是最可靠的:

Major Upgrades制作的升级安装包会自动卸载以前的版本程序,然后安装新版本的程序,因此不用一台台手动删除程序,直接安装新版本的程序就可以了;

要制作Major Upgrades制作的升级安装包,必须修改ProductCode属性,相同的ProductCode在没有卸载旧版本而安装新版本时会导致出错提示;

修改Version属性,以区别于旧版本

设置RemovePreviousVersions属性为true,也就是允许安装程序卸载以前版本;要卸载旧的版本程序还需要搜索到已安装的旧版本程序,使用vs打包时是通过UpgradeCode找到旧版本的程序,因此新版本和旧版本的UpgradeCode属性应该保持一致。
周公 2010-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hch126163 的回复:]
自动更新,不用做下载后安装!

换一个思路!

直接替换你修改的dll 文件就可以了!

很多软件升级都是这样!
[/Quote]
自动升级采用替换原来的dll及exe的,不用删除的。
hch126163 2010-11-13
  • 打赏
  • 举报
回复
自动更新,不用做下载后安装!

换一个思路!

直接替换你修改的dll 文件就可以了!

很多软件升级都是这样!
y342921318 2010-11-13
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 hch126163 的回复:]
这种情况,你可以做自动更新嘛!

搜索C# 软件自动更新,有很多示例的
[/Quote]
其实这个升级程序就是从服务器下载下来的,效果是 客户端运行程序后如果检查到有新版本就下载,下载完成后自动安装,可是到了这一步他不覆盖原文件,郁闷了
deyygywxf 2010-11-13
  • 打赏
  • 举报
回复
这种情况,你可以做自动更新嘛!

搜索C# 软件自动更新,有很多示例的
hch126163 2010-11-13
  • 打赏
  • 举报
回复
这种情况,你可以做自动更新嘛!

搜索C# 软件自动更新,有很多示例的
y342921318 2010-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hch126163 的回复:]
自动更新,不用做下载后安装!

换一个思路!

直接替换你修改的dll 文件就可以了!

很多软件升级都是这样!
[/Quote]

我采用这种方法吧,3Q~

111,129

社区成员

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

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

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