VS2013安装部署项目
打开vs2013/2015菜单扩展和更新,查找Installer,找到Microsoft Visual Studio 2015 Installer Projects并下载安装。
安装之后模板中即有“安装部署项目”。
1. 自定义安装项目:
创建一个类库项目,点击添加新建项目,选择“安装程序类”,然后重写Install函数(本例中修改了计算的path变量,也可做其他注册表之类的操作):
public override void Install(System.Collections.IDictionary stateSaver)
{
base.Install(stateSaver);
System.Text.StringBuilder debug = new System.Text.StringBuilder();
try
{
//foreach (string k in this.Context.Parameters.Keys)
// sb.Append(k + ":" + this.Context.Parameters[k] + "\r\n");
string 安装目录 = this.Context.Parameters["targetdir"].ToString();
安装目录 = this.过滤(安装目录);
debug.Append("安装目录:" + 安装目录 + "\r\n");
string path = Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.Machine);
path = this.过滤(path);
debug.Append("旧path:" + path + "\r\n");
if (path.IndexOf(安装目录) == -1)
path += ";" + 安装目录;
path = path.Replace(@"\\", @"\").Replace(";;", ";");
debug.Append("新path:" + path + "\r\n");
Environment.SetEnvironmentVariable("Path", path, EnvironmentVariableTarget.Machine);
}
catch (Exception ex)
{
debug.Append("Exception:" + ex.Message + "\r\n");
}
//下一行测试时打开
//System.IO.File.WriteAllText("d:\\log.txt", sb.ToString());
}
2. 创建一个安装部署项目
View,选择文件系统,添加前面的类为程序主输出。
View,选择自定义操作,在“Install”中增加“Appliction Dir”中上一步增加的主输出,即自定义安装类。选择此再F4显示属性,在CustomActionData中设置/targetdir="[TARGETDIR]\" ,这应该是安装目录位置。
3. 启动条件
View菜单,选择启动条件,可以把.Net Framework4.5改为4
VS2013安装部署项目的更多相关文章
- Jenkins安装部署项目
Jenkins安装部署项目 配置JDK git maven 部署到服务器 一.新建任务 二.配置jenkins 三.添加构建信息 四.应用.保存 五.踩坑填坑记录 5.1没有jar包的情况 5.2无法 ...
- VS2013安装部署过程详解
注意:缺少安装部署的小伙伴,看上一篇有详细介绍 程序在“Release”平台下编译运行没有错误 第一步:“新建”------“项目”------“其他项目类型”------“安装部署”------“I ...
- VS 安装部署项目自解压程序解压后按顺序执行多个程序
这篇blog介绍了如何用VS创建安装部署方案,以及如何制作自解压程序.然后我的程序中需要解压后按照顺序先后安装2个exe.winrar的解压后执行,虽然可以用分号填写多个应用,但貌似是同时执行的.为了 ...
- Linux Tomcat安装部署项目
一.上传Tomcat服务器
- linux下docker安装部署项目(全)
一 .系统安装 基于CentOS-7-x86_64-Minimal-1708.iso安装系统 1.2. 配置系统 1.2.1 在线更新内核版本(建议更新,旧版内核会有docker BUG) 1.2 ...
- C# winform安装部署(转载)
c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...
- AE安装部署以及监测ArcEngine runtime 9.3是否安装
目的:用ArcEngine9.3开发项目以后,用Visual Studio2008打包工具打包: 同时监测别的机器上是否有ArcEngine Runtime或者Desktop的支持. 解决方案: 1. ...
- VS2013没有安装部署,安装图解
自vs2012后就已经没有安装向导了,VS2013安装是不带安装部署的,用 InstallShield Limited Edition for Visual Studio 解决安装部署问题 第一步:“ ...
- 他山之石——vs2013 安装与部署及程序打包
C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio .下载地址: InstallShield 2013 Limited Edi ...
随机推荐
- [知识整理]Java集合(二) - Set
一.实现Set的几个类 HashSet.LinkedHashSet.TreeSet.ConcurrentSkipListSet.CopyOnWriterArraySet 二.对应底层的数据结构 Has ...
- spring 整合hibernate
1. Spring 整合 Hibernate 整合什么 ? 1). 有 IOC 容器来管理 Hibernate 的 SessionFactory2). 让 Hibernate 使用上 Spring 的 ...
- C# 科学计数法转换成数字
/// <summary> /// 判断输入的数是否是科学计数法.如果是的话,就会将其换算成整数并且返回,否则就返回false. /// </summary> /// < ...
- [Android基础论]为何Activity退出之后,系统没有调用onDestroy方法?
首先,问题是如何出现的? 晚上复查代码,发现一个activity没有调用自己的ondestroy方法 我表示非常的费解,于是我检查了下代码. 发现再finish代码之后接了如下代码 finish(); ...
- php入门,配置wampserver
wamp安装过程中将网站的根目录设置在www目录下,这里记录如何定义自己的根目录,以便以后需要是查看 1.启动wampserver,左键选择apache下的httpd.conf,将文件中Documen ...
- python——面向对象篇之异常和反射
内置函数isinstance和issubclass 1.1 isinstance用法: isinstance(string,str) 判断第一个参数是否是第二个参数的子集,例如: print isin ...
- DBlink与同义词
DBLink就是数据库链接,而同义词就已经具体到某个用户下的表了 原文链接:http://www.linuxidc.com/Linux/2013-01/77579.htm 这里所需要的信息: 从MM库 ...
- 【随笔】Photoshop简单切图
一.首先准备一张需要切割的图: 二.打开Photoshop,在ps里打开这张图片: 三.在界面的左边选择切片工具: 四.根据需要,鼠标点住上方和左边的标尺拖动,给图片加上分割辅助线: 五.用切片工具点 ...
- C++中关于文件的读写
在C++的学习过程中,我们时常要用到对文件的操作,下面我们讲一下文件的读写. 首先,读.也就是把已有的文件读到控制台上,那么如何操作呢?首先要将文件操作的输入输出流包含进去. <fstream& ...
- python中几个常见的黑盒子之“字典dict” 与 “集合set”
这里说到"字典dict" 和 "集合set"类型,首先,先了解一下,对于python来说,标准散列机制是有hash函数提供的,对于调用一个__hash__方法: ...