打开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安装部署项目的更多相关文章

  1. Jenkins安装部署项目

    Jenkins安装部署项目 配置JDK git maven 部署到服务器 一.新建任务 二.配置jenkins 三.添加构建信息 四.应用.保存 五.踩坑填坑记录 5.1没有jar包的情况 5.2无法 ...

  2. VS2013安装部署过程详解

    注意:缺少安装部署的小伙伴,看上一篇有详细介绍 程序在“Release”平台下编译运行没有错误 第一步:“新建”------“项目”------“其他项目类型”------“安装部署”------“I ...

  3. VS 安装部署项目自解压程序解压后按顺序执行多个程序

    这篇blog介绍了如何用VS创建安装部署方案,以及如何制作自解压程序.然后我的程序中需要解压后按照顺序先后安装2个exe.winrar的解压后执行,虽然可以用分号填写多个应用,但貌似是同时执行的.为了 ...

  4. Linux Tomcat安装部署项目

    一.上传Tomcat服务器

  5. linux下docker安装部署项目(全)

    一 .系统安装 基于CentOS-7-x86_64-Minimal-1708.iso安装系统 1.2.  配置系统 1.2.1  在线更新内核版本(建议更新,旧版内核会有docker BUG) 1.2 ...

  6. C# winform安装部署(转载)

    c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...

  7. AE安装部署以及监测ArcEngine runtime 9.3是否安装

    目的:用ArcEngine9.3开发项目以后,用Visual Studio2008打包工具打包: 同时监测别的机器上是否有ArcEngine Runtime或者Desktop的支持. 解决方案: 1. ...

  8. VS2013没有安装部署,安装图解

    自vs2012后就已经没有安装向导了,VS2013安装是不带安装部署的,用 InstallShield Limited Edition for Visual Studio 解决安装部署问题 第一步:“ ...

  9. 他山之石——vs2013 安装与部署及程序打包

    C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio  .下载地址: InstallShield 2013 Limited Edi ...

随机推荐

  1. npm -v 一直闪

    一直闪一般是配置搞错了 参考: windows安装完nodejs后做了相关环境变量配置后,cmd输入npm没反应啊 就光标一直闪 node是正常的 或者 https://segmentfault.co ...

  2. linux下服务端实现公网数据转发

    之前在腾讯上使用了一个免费的公网服务器,只有7天,linux系统. 其实有这样的想法,是因为有个研二的师弟问我怎么样才能让连个局域网的电脑通信. 我跟他说了两种方法,一种是找个公网服务器来转发数据,另 ...

  3. position:absolute绝对定位解读

    position:absolute绝对定位解读  摘要   用四段代码解释absolute的定位问题,进而从概念的角度切实解决html布局问题. 一.背景 常常遇到这样一些问题,很容易混淆.“浏览器屏 ...

  4. 利用C++不使用递归,循环和goto,打印1到100 的某一答案分析

    实验环境是在64位linux下使用g++编译器    下面是Mark Gordon的答案   The below one works on my system, can't guarantee res ...

  5. C. Dima and Salad 背包好题

    http://codeforces.com/contest/366/problem/C 在n个物品中选出若干个,使得sum(a[i]) = k * sum(b[i]) 把问题转化一下就是,求sum(a ...

  6. 2016CCPC 合肥--最大公约数//每一年通向它的路上,多少人折戟沉沙,多少人功败垂成,有人一战成名,有人从头再来。

    有这样一个有关最大公约数的函数:函数 f(x, y): { c=0 当 y>0: { c +=1 t = x % y x = y y = t } 返回 c * x * x} 给出三个正整数n,m ...

  7. 被忽略的js细节

    今天在写一个程序,出了一点小bug,找了许久许久,终于把问题给揪了出来,真相大白那一刻感觉好蛋疼--深刻体会到了语言之间的差异. <script type="text/javascri ...

  8. String和string的区别(C#)

    从位置讲: 1.String是.NET  Framework里面的String,小写的string是C#语言中的string 2.如果把using System;删掉,没有大写的String了,Sys ...

  9. C# 闭包

    1. 首先要说明的是, delegate 被编译器 编译成一个class, 所以才能传来传去(具体参考 <CLR via C#>第四版), 所以 Action.Func也是如此 2. 在C ...

  10. C# mvc DropDownList选中状态无效情况分析

    情况: DropDownList控件使用List<SelectListItem>()设置下拉选项和默认值.当控件的Name和后台的ViewBag(或ViewData)的Key重复,会导致选 ...