【转】C#安装包(自动卸载低版本)
一:版本号升级
1、ProductCode、Version(version比前一版本要高比如以前1.0.0现在就是1.0.1),
2、保持UpgradeCode不变(当设置RemovePreviousVersion=true时就是靠它来找到卸载旧版本)
二:配置版本检测
1、置detectnewerinstalledversion=true(自动检测新版本,如果装了高版本再安装低版本则提示不让安装),
2、置RemovePreviousVersion=true(安装高版本的同时自动卸载低版本,如果为false则添加/删除会出现两个相同安装记录,如 果 在卸载时想保留某些文件,则把对应文件的属性值Parmanent=true)
---------------------------------------------------------------------------------------------------------
以上两步已经可以完成版本升级操作,若需要其它操作参照下面
---------------------------------------------------------------------------------------------------------
三:添加注册表标识项
在注册表编辑器写入安装标志键值(用来下一次安装时检测是否安装过此软件)和安装路径键值(为下一次安装得到上一次安装路径可以做相应操作),此项不重要。
四、添加自定义操作
在启动条件编辑器搜索目标计算机/添加注册表搜索(主要用以得上一次安装标识和安装路径),然后再通过属性值传到 主输出来自SetupInstall(活动)
(参数传值:/productcode=[ProductCode] /regeditsetupvalue=[REGEDITSETUPVALUE] /regeditsetuppath=[REGEDITSETUPPATH] /targetdir=[TARGETDIR])
以提供给Install.cs安装类使用
from:http://blog.csdn.net/xuzhongxuan/article/details/6817096
【转】C#安装包(自动卸载低版本)的更多相关文章
- .net安装包自动安装Mysql数据库
原文:.net安装包自动安装Mysql数据库 在制作.Net安装包的时候,如果项目有用到数据库,怎么能够把数据库打包安装呢?网上已经有很多自动安装Sql Server数据库的例子,但是自动安装mysq ...
- 利用VS2017制作软件安装包与卸载程序
本博客讲述如何利用VS2017制作安装包以及相应的卸载程序,并解决过程中可能遇到的问题 一.制作安装程序 1.打开VS2017,新建项目,选择如下图所示程序: 新建成功后,会出现如下图所示目录: 2. ...
- R语言-查看加载包、卸除加载包及安装包与卸载包
在R语言中,常需要看哪个包加载了或是看多个相似功能的包,看到底是哪个包在起作用,通过加载和卸除后进行运行比较分析. 1.查看已加载的包 >(.packages()) 注意外面的括号和前面的点不能 ...
- Elasticsearch各版本的MSI安装包和Kibana各版本的zip包(Windows)
elastic各产品下载列表页:https://www.elastic.co/cn/downloads/ 打开Elasticsearch的下载页后看到的是当前最新版本的安装界面,现在最新的版本是7.4 ...
- Python 安装包时选择 python版本
安装了两个版本的python 其中一个版本为2.7 专门为python 2.7安装包使用的语句为 升级pip E:\Python27\python -m pip install --upgrade p ...
- 指定YUM安装包的体系结构或版本
在单一体系结构下同时安装32位和64位包echo ‘multilib_policy=all’ >> /etc/yum.conf 指定体系结构 查看当前系统体系结构[root@oracle ...
- lnmp一键安装包,安装多版本php,并开启redis与swoole
安装多版本的php sudo ./install.sh mphp Install ZendGuardLoader for PHP 7.1... unavailable now. Write ZendG ...
- 安装包设计-------卸载(MFC)---------知识总结
1.删除目录及其下所有文件 bool MyDeleteFile(CString Path) { // SHFILEOPSTRUCT FileOp={0}; // FileOp.fFlags = FOF ...
- 修改visual studio setup 安装顺序(解决新版安装包无法自动移除老版本程序的问题)
背景 visual studio setup 支持自动删除之前版本的安装,需要设置RemovePreviousVersions = true, DetectNewerInstalledVersion ...
随机推荐
- HDOJ-三部曲一(搜索、数学)- A Knight's Journey
A Knight's Journey Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) ...
- 【LEETCODE OJ】Reorder List
Problem link: http://oj.leetcode.com/problems/reorder-list/ I think this problem should be a difficu ...
- C++之创建对象时的new与不new
C++在创建对象的时候可以采用两种方式:(例如类名为Test) Test test 或者 Test* pTest = new Test(). 这两种方法都可以实例化一个对象,但是这两种方法有很大的区 ...
- HDU 5086
http://acm.hdu.edu.cn/showproblem.php?pid=5086 求所有连续区间的数字和 本质是一个乘法原理,当前位置的数字出现次数=这个数之前的数字个数*这个数之后的数字 ...
- magento 多域名多店铺
事前指导 我们使用的就是parked domain ,将你要添加的域名指向你的现有magento 文件根目录. 就像预习中提到的,我们有个magento站域名为one.com ,添加新的域名two.c ...
- Hadoop no.1
解决的问题: 1. 磁盘读取速度慢:磁盘容量大了,将一个大的文件存在磁盘上,但读取速度慢. 解决方法:hdfs将文件拆开存在不同的节点(datanode)上,namenode记载文件存储的位置( ...
- postgresql存储二进制大数据文件
如果想把整个文件或图片存储在数据表的一个字段内,该字段可以选择二进制类型,然后将文件按二进制存储起来,文本文件也可以存在text字段内. 示例如下: 二进制类型bytea的操作(在最大值内,有内存限制 ...
- lanuchy快捷操作
down arrow: display history shift+delete: remove the item from the distory
- JQuery中操作Css样式
//1.获取和设置样式 $("#tow").attr("class")获取ID为tow的class属性 $("#two").attr(&qu ...
- nethogs 实时查看进程使用流量情况。
源码编译安装. 下载地址:http://sourceforge.net/projects/nethogs/?source=directory 下载了 tar 解压. make && m ...