版本覆盖安装 C#上位机程序打包安装文件

当我们满心欢喜的想要和其他人分享自己制作的上位机时 , 是不是会遇到一些比较尴尬的事情 , 比如某些DLL库缺失 , 或者.NET版本太低不支持 , 或者某些文件不能发送 , 等各种各种的问题 。
那么将你的上位机软件直接打包成安装文件 , 这些尴尬就可以很好地避免 , 而且给客户使用起来也会很方便 。
本文主要介绍用Microsoft Visual Studio Installer Projects软件制作安装包 。首先是该软件的安装 , Microsoft Visual Studio Installer Projects属于Visual Studio的扩展安装包 , 因此在Visual Studio里面可以很方便的安装该扩展包 。

版本覆盖安装 C#上位机程序打包安装文件

文章插图
 

版本覆盖安装 C#上位机程序打包安装文件

文章插图
 
在工具->扩展和更新里面 , 找到Visual Studio Marketplace , 然后搜索软件名字 , 下载安装 , 然后重启Visual Studio即可使用 。
在你之前的上位机项目中 , 右击->添加->新建项目 , 选择其他类型项目->Visual Studio Installer->Setup Project.
版本覆盖安装 C#上位机程序打包安装文件

文章插图
 
然后右击安装包项目 , 选择View->文件系统->Application Folder 。在右边文件列表的空白处右击添加文件 , 引用的dll库文件通常会自己自动添加 。如下图所示
版本覆盖安装 C#上位机程序打包安装文件

文章插图
 
将文件添加之后 , 将上位机程序的输出也同样添加进去 , 操作步骤如下:
版本覆盖安装 C#上位机程序打包安装文件

文章插图
 
然后右击Application Folder里面的主输出 , 创建快捷方式 , 之后将快捷方式移动到User's Desktop , 即在用户桌面上创建快捷方式 。
然后设置安装包项目的属性 。
版本覆盖安装 C#上位机程序打包安装文件

文章插图
 
安装包属性的具体解释如下:
(非常重要)
1.Product Code:每个版本或者每个安装包特有的ID
2.Upgrade Code:版本升级用到的ID , 同一Upgrade Code才会升级
3.DetectNewerInstalledVersion:True , 只能升级 , 不能降级
4.RemovePreviousVersion:去掉之前版本 , 即覆盖安装
5.Version:安装包版本 。
(一般重要)
1.Author:作者或者公司名
2.Maufacturer以及MaufacturerUrl:公司名以及网址
3.Target Platform:运行平台 。
最后 , 进行编译即可生成两个文件 , 一个Setup文件 , 一个msi文件 。最好点击Setup文件 , 这样会对上位机环境进行检测 。
 
如果想要支持新版本直接覆盖旧版本要怎么办?
首先 , 安装包里面的属性配置为:Product Code各个版本不同 , Upgrade Code各个版本必须保持一致 , 
DetectNewerInstalledVersion设置为True , RemovePreviousVersion设置为True , Version新版本要比旧版本数值大 。
另外 , 需要对上位机程序的输出版本进行升级 , 需要在你当前解决方案下的->Properties->Assembleinfo.cs里面的[assembly:AssemblyVersion(“1.0.0.0”)][assembly: AssemblyFileVersion(“1.0.0.0”)]进行修改 , 这两个属性一般在Assembleinfo.cs的最下面 。这样才能做到自动更新 , 如下图所示:
版本覆盖安装 C#上位机程序打包安装文件

文章插图
 
最后 , 其他文件 , 修改时间不一致 , 安装包就可以自动替换 , 不用专门修改 。
这样 , 就可以实现安装包的版本覆盖更新 。另外 , 需要说明的是 , 安装包项目还可以做卸载以及注册表的更新 , 这里不做过多叙述 。

【版本覆盖安装 C#上位机程序打包安装文件】


    推荐阅读