VS C#程序打包覆盖安装不能更新的解决方法
最近写个小程序,打包覆盖安装更新时老是不起作用,还是原来的程序。
在网上四处查找,productcode和ersion都已经更改,removepreviousversions也设置成true了,可就是不能更新。
最后对比了下程序,发现每次覆盖安装后安装路径下别的文件的最后修改时间都更新了,就是主输出文件.exe的修改时间一直没有改变过,又看了下控制面板,程序的版本确实一直在更新,那么问题就出来了,程序不更新的原因就在于主输出文件一直没有更新。
可是每次更新安装包的时候都重新生成过,在项目文件中主输出文件也是一直在更新的。在网上几经周折,终于找到了原因所在。
在项目中的Properties文件夹下有个AssemblyInfo.cs文件,打开,拉到最后,有这么几行代码:
- // 程序集的版本信息由下面四个值组成:
- //
- // 主版本
- // 次版本
- // 内部版本号
- // 修订号
- //
- // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
- // 方法是按如下所示使用“*”:
- // [assembly: AssemblyVersion("1.0.*")]
- [assembly: AssemblyVersion("1.0.0.0")]
- [assembly: AssemblyFileVersion("1.0.0.0")]
最后两行就是导致主输出文件一直不更新的罪魁祸首。
虽然每次生成,项目内容都更改了,但是生成的主输出文件的版本一直没有改变,这就导致了每次覆盖安装主输出文件都不会被修改,因为他们的版本是一致的。
so,每次更新前,先修改主输出文件的版本号,然后再生成项目输出,然后修改安装程序版本号、productcode,再复制productcode到卸载程序快捷方式,最后重新生成安装程序。这样就可以覆盖安装了,安装后的程序也可以正常更新了。^_^
打包过程:
C#WinFrom程序打包/图解VS2008项目的安装与部署图解
VS C#程序打包覆盖安装不能更新的解决方法的更多相关文章
- CocoaPods pod 安装、更新慢解决方法
使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动了,令人甚是DT. 每一次都忘记现在自己记录一下 ...
- Android 程序打包和安装过程
APP程序打包与安装的流程: APP的安装过程:
- DirectX SDK (June 2010)安装错误S1023,解决方法
转自:http://hi.baidu.com/rootcat/item/6730f15f85e2c1958c12ed81 DirectX SDK (June 2010)安装错误S1023,解决方法 导 ...
- win7系统 windows update 总是更新失败解决方法:
win7系统 windows update 总是更新失败解决方法: 右键单击桌面“计算机”选择“管理“. 进到“计算机管理“窗口后,展开”服务和应用程序“并双击”服务“,在窗口右侧按照名称找到”Win ...
- SQL2008R2安装碰到问题的解决方法(iso文件用对应的工具)
SQL2008R2安装碰到问题的解决方法 安装谁不会啊,这么简单,是啊,可是匹配包时就不是那么顺利啊.就像以前的Ruby还专挑匹配版本的包一样,不像现在的Py自动为我们找,这是Mar 7贴在Q ...
- [Q]“获取AutoCAD安装信息时失败...”解决方法
“获取AutoCAD安装信息时失败...”解决方法:在“setup.exe”上右键,以管理员权限运行即可.
- npm install安装时忘记--save解决方法
title: npm install安装时忘记--save解决方法 date: 2017-05-07 20:17:54 tags: npm categories: --- 网上还有一个解决方案就是: ...
- VS2017无法进入安装界面问题的解决方法
VS2017无法进入安装界面问题的解决方法 打开C:\Program Files (x86)\Microsoft Visual Studio\Installer\vs_installer.exe也没有 ...
- QT编译发布程序后报错如缺少dll、“应用程序无法正常启动(0xc000007b)”的可能解决方法
QT编译发布程序后报错如缺少dll.“应用程序无法正常启动(0xc000007b)”的可能解决方法 最近项目要用qt,因为初学没有经验,遇到些小问题常常没什么头绪,也查不到解决方法,刚刚还因为低端错误 ...
随机推荐
- Annotate类
在Annotate类中有个Annotator接口,定义如下: /** A client that has annotations to add registers an annotator, * th ...
- elasticsearch(一) 之 elasticsearch初识
目录 一 .elasticsearch 二 . elasticsearch 名词解释 集群(cluster) 节点(node) 索引(index) type(类型) Document(文档) shar ...
- gitlab+jenkins+hook代码自动构建发布上线
Gitlab+Jenkins+Hook 1.gitlab和jenkins的安装见: http://www.cnblogs.com/cuishuai/p/7544663.html http://www. ...
- SC Create 创建一个Windows系统服务 转
转自:http://www.360doc.com/content/13/0428/09/7555793_281451268.shtml sc create Serv-U binpath= &q ...
- 关于拓展jQuery功能插件的写法
有两种方法: 1.jQuery.fn.extend() 用于将一个对象的内容合并到jQuery的原型,以提供新的jQuery实例方法 例子: <span id="test"& ...
- 把AspDotNetCoreMvc程序运行在Docker上-part3:使用独立的存储容器
接上一篇博文<把AspDotNetCoreMvc程序运行在Docker上-part2:修改容器以及发布镜像>,这次我们看看如何使用docker存储数据. 背景 之前的示例都只有一个网站应用 ...
- 【eclipse修改默认注释】
一.背景简介 丰富的注释和良好的代码规范,对于代码的阅读性和可维护性起着至关重要的作用.几乎每个公司对这的要求还是比较严格的,往往会形成自己的一套编码规范.但是再实施过程中,如果全靠手动完成,不仅效率 ...
- shellExcute 与shellExcuteex 的一些东西
最近在做外部调用exe并传给exe相应参数 方法有两种.. 1,用program.start() 2,shell() 3,调用API 以下内容来自http://www.pinvoke.net/defa ...
- MyBatis源码解析之数据源(含数据库连接池简析)
一.概述: 常见的数据源组件都实现了javax.sql.DataSource接口: MyBatis不但要能集成第三方的数据源组件,自身也提供了数据源的实现: 一般情况下,数据源的初始化过程参数较多,比 ...
- HDU 2669 Romantic 扩展欧几里德---->解不定方程
Romantic Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Su ...