制作过程
1.打开vs,新建项目->其他项目类型->安装和部署->安装项目
2、这里就会出现三个文件夹,不用多说一看就明白意思,点“应用程序文件夹–>添加–>文件夹
3、在“应用侧滑盖内需文件夹”文件夹上右键–>添加–>文件
4、创建快捷方式
5、工程属性配置
C#程序打包,升级的要点
1、ProductCode 是Product Code用于标识一系列升级的版本,同样如果我们的产品的版本号发生了变化,则必须更改一个新的Product Code。
Upgrade Code用来标识一条完整的产品线,比如,VS2008, VS2012.两个版本之间使用两个不同的Upgrade Code,互不影响,每个版本中又使用不同的Product Code来实现各自的upgrade。
2、改变ProductCode、Version(version比前一版本要高比如以前1.0.0现在就是1.0.1),
保持UpgradeCode不变(当设置RemovePreviousVersion=true时就是靠它来找到卸载旧版本)
3、设置detectnewerinstalledversion=true(自动检测新版本,如果装了高版本再安装低版本则提示不让安装),
设置RemovePreviousVersion=true(安装高版本的同时自动卸载低版本,如果为false则添加/删除会出现两个相同安装记录,如果在卸载时想保留某些文件,则把对应文件的属性值Parmanent=true)
4、(1)DetectNewerInstalledVersion 属性与RemovePreviousVersions属性设定为True
(2)设置安装部署项目Version+1
(3)提示是否需要更改Product Code时选择是
上面的设置为了更新应用程序,产生覆盖的效果。(下面还有一处也要设置才行 重点)
Upgrade Code 尽量不改变
Product Code 要改变
设置后没有升级应用程序
1. 在解决方案中
AssemblyInfo.cs 中修改
最后两行就是导致主输出文件一直不更新的罪魁祸首。
虽然每次生成,项目内容都更改了,但是生成的主输出文件的版本一直没有改变,这就导致了每次覆盖安装主输出文件都不会被修改,因为他们的版本是一致的。
so,每次更新前,先修改主输出文件的版本号,然后再生成项目输出,然后修改安装程序版本号、productcode,再复制productcode到卸载程序快捷方式,最后重新生成安装程序。这样就可以覆盖安装了,安装后的程序也可以正常更新了。^_^
最后安装生成的安装包