C# winform Visual Studio Installer打包教程
C# winform Visual Studio Installer打包教程
软件在功能开发实现后,其实并没有真正的完成。对于一个专业的开发者来说,Release软件应该是以安装版本的形式进行发布的,这篇文章将具体介绍如何使用VS2010下Visual Studio Installer进行打包软件。
Setp1.首先建立Visual Studio Installer下Setup Project工程,如下图1:

图1
Step2.在“应用文件夹”下选择“添加”,再选择“文件”,如图2:

图2
Step3.在弹出的对话框中,选择我们已编写好的文件,如.exe/ .dll等,注意:这里只选择软件一级目录下的文件。其实,“Application Folder”对应的就是软件文件夹,如图3:
一定要注意第三步和第四步。这两步很重要,因为我掉进这个坑半天,所以特意提醒大家一下,一定要选择软件一级目录下的文件。

图3
Step4.由于我们编写的软件中带有Config/ Database…等文件夹,所以在“Application Folder”文件夹目录下也要建立对应的文件夹。操作步骤为:“Application Folder”-->“Add”-->“Folder”,具体如下图4所示:

图4
Step5.上一步的文件夹添加完成之后,接下来就需要把已编写好的软件内,对应的每一个文件夹下的文件进行添加,添加的步骤如下图5所示:

图5
Step6.接下来,我们要创建快捷方式,具体操作为:选择.exe文件所在目录“Application Folder”-->在右边的“Name”下右键点击.exe名称-->“创建快捷方式”,同时,你可以重命名快捷方式的名称。具体如下图6

图6
Step7.将快捷方式拖放置“User’s Desktop”或“User’sPrograms Menu”下,同时,也可以在快捷方式的Icon属性内设置快捷方式的图标。如图7所示:

图7
Step8.设置系统必备,右键选择项目的属性,进入属性页中。在属性页下选择“Prerequisites”,如图8

图8
Step9.设置系统所需,重要一点:“从与我的应用程序相同的位置下载系统必备组件”必选

图9
Step10.添加卸载程序,选择“Application Folder”文件夹-->“Add”-->“File…”-->添加C:\WINDOWS\system32\msiexec.exe,(或者自己写一个卸载程序也是可以的)。如图10所示:

图10
Step11.设置卸载程序。首先创建msiexec.exe的快捷方式-->然后重命名快捷方式为“UnInstall.exe”-->接着把此项目的ProductCode(右击项目名称属性可以找到ProductCode)前添加“/x”设置到“UnInstall.exe”的Arguments属性内,具体如下图11

图11
Step12.重复Step7,把卸载程序的快捷方式拖到“User’s Programs Menu”内
Step13.更改项目属性,如作者及相关属性,如下图12所示:

图12
Step14.编译生成安装项目:
针对警告部分:
关于msiexec.exe的警告无需处理,因为msiexec.exe文件是受Windows保护,所以弹出警告。
关于dll对象重复的警告,删除一个即可。

C# winform Visual Studio Installer打包教程的更多相关文章
- C# winform Visual Studio Installer打包教程,安装包
//具体打包过程,参考下面网址 https://www.cnblogs.com/dongh/p/6868638.html VS 扩展和更新-联机 搜索 Microsoft Visual Studio ...
- Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案
原文:Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案 如果你是用Visual Studio自带的打包项目打包了一个I ...
- Visual Studio Installer打包安装项目VS2015
使用VS2015的Visual Studio Installer打包安装项目,虽然整体操作很简单,但还是有几个特殊的点需要记一下,故写下此博客方便以后查阅 第一步,创建安装项目 如下: 里面最左侧的框 ...
- visual studio installer 打包123
下载安装visual studio installer
- 使用Visual Studio Installer 2015打包WPF程序
前言 做过WPF项目,就少不了要将程序打包部署到客户现场,因为一般长时间不会更新打包程序,每次变动较大需要重新配置打包程序时,就会有些生疏,不那么得心应手.为了方便记忆,记录到博客中. 准备 因为做过 ...
- InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) 标签: InstallShieldVS2013 2015 ...
- Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
原文:InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) InstallShield Limited Edi ...
- Visual Stdio 2015打包安装项目的方法(使用Visual Studio Installer)
首先在官网下载VS2015的Visual Studio Installer 1.创建安装项目 里面最左侧的框框有三个文件夹 1.“应用程序文件夹”即"Application Folder&q ...
- InstallShield Limited Edition for Visual Studio 2013 图文教程打包安装包
http://www.wuleba.com/23892.html 从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“Inst ...
随机推荐
- 再谈Hive元数据如hive_metadata与Linux里MySQL的深入区别(图文详解)
不多说,直接上干货! [bigdata@s201 conf]$ vim hive-site.xml [bigdata@s201 conf]$ pwd /soft/hive/conf [bigdata@ ...
- 事件委托(js实现)
1.事件委托的作用 事件委托的意义:,事件就是onclick,onmouseover,onmouseout等就是事件,委托呢,就是让别人来做,这个事件本来是加在某些元素上的,然而你却加到别人身上来做, ...
- C 标准库 - string.h之memcpy使用
memcpy Copy block of memory Copies the values of num bytes from the location pointed to by source di ...
- C#中的委托 Delegate(委托 也叫代表,代表一类方法)
1. 委托类似与 C或C++中的函数指针,但委托是 面向对象的,并且是类型安全的 详情可查看官方文档:https://msdn.microsoft.com/en-us/library/ms173172 ...
- Redis的master/slave复制
摘自:Redis的master/slave复制 Redis的master/slave数据复制方式可以是一主一从或者是一主多从的方式,Redis在master是非阻塞模式,也就是说在slave执行数据同 ...
- js处理json数据,java处理json数据
一.js处理json数据 处理办法之一是把本机json数据或远程返回json数据用eval函数,使之变成DOM对象. 例如: var people = { "programmers" ...
- 手动添加Git Bash到右键菜单
1. 打开注册表. 2. 找到[HKEY_CLASSES_ROOT\Directory\Background]. 3. 在[Background]下如果没有[shell],则右键-新建项[shell] ...
- Oracle JDBC 连接方式
格式一: Oracle JDBC Thin using a ServiceName jdbc:oracle:thin:@//<host>:<port>/<service ...
- 每天一道leetcode203-移除链表的元素
考试结束,班级平均分只拿到了年级第二,班主任于是问道:大家都知道世界第一高峰珠穆朗玛峰,有人知道世界第二高峰是什么吗?正当班主任要继续发话,只听到角落默默想起来一个声音:”乔戈里峰” 前言 2018. ...
- XmlDocument.LoadXml和Load的区别
LoadXml:从指定的字符串加载 XML 文档. eg:doc.LoadXml("<root>aa</root>"); .csharpcode, .csh ...