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打包教程的更多相关文章

  1. C# winform Visual Studio Installer打包教程,安装包

    //具体打包过程,参考下面网址 https://www.cnblogs.com/dongh/p/6868638.html VS 扩展和更新-联机 搜索 Microsoft Visual Studio ...

  2. Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案

    原文:Visual Studio Installer打包后生成的安装文件每次执行都需要重新安装C++ 2010运行库(x86)的解决方案 如果你是用Visual Studio自带的打包项目打包了一个I ...

  3. Visual Studio Installer打包安装项目VS2015

    使用VS2015的Visual Studio Installer打包安装项目,虽然整体操作很简单,但还是有几个特殊的点需要记一下,故写下此博客方便以后查阅 第一步,创建安装项目 如下: 里面最左侧的框 ...

  4. visual studio installer 打包123

    下载安装visual studio installer

  5. 使用Visual Studio Installer 2015打包WPF程序

    前言 做过WPF项目,就少不了要将程序打包部署到客户现场,因为一般长时间不会更新打包程序,每次变动较大需要重新配置打包程序时,就会有些生疏,不那么得心应手.为了方便记忆,记录到博客中. 准备 因为做过 ...

  6. InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)

    InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) 标签: InstallShieldVS2013 2015 ...

  7. Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)

    原文:InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序) InstallShield Limited Edi ...

  8. Visual Stdio 2015打包安装项目的方法(使用Visual Studio Installer)

    首先在官网下载VS2015的Visual Studio Installer 1.创建安装项目 里面最左侧的框框有三个文件夹 1.“应用程序文件夹”即"Application Folder&q ...

  9. InstallShield Limited Edition for Visual Studio 2013 图文教程打包安装包

    http://www.wuleba.com/23892.html 从Visual Studio 2012开始,微软就把自家原来的安装与部署工具彻底废掉了,转而让大家去安装使用第三方的打包工具“Inst ...

随机推荐

  1. 【Sonarqube】windows下更改Temp文件夹的位置

    下载的最新Sonarqube版本(4.5.1),通过StartSonar.bat文件可以启动,但是无法通过StartNTService.bat文件启动,原因为默认的Temp文件不可写入, java.l ...

  2. vs2010 编译 boost1.65.1

    vs2010编译boos1.65.1注意选项 vs2010 不支持 c99 ,string.c和debugger.c 变量定义顺序位置报错,改变顺序即可. debugger.c va_copy 在c8 ...

  3. Java异常机制关键字总结,及throws 和 throw 的区别

    在Java的异常机制中,时常出现五个关键字:try , catch , throw , throws , finally. 下面将总结各个关键字的用法,以及throw和throws的区别: (1) t ...

  4. MYSQL 缓存

    在PHP.INI中query_cache_type设置为1. 即 开始MYSQL全局SQL语句 都缓存.(0 不使用) 临时关闭查询缓冲的方法:1.    SELECT SQL_NO_CACHE fi ...

  5. [问题解决]Fresco设置占位图不显示的问题

    [问题解决]Fresco设置占位图不显示的问题 /** * Created by diql on 2017/02/15. */ 问题说明 本来设置占位图是通过以下方法: public void set ...

  6. unity 优化之overdraw查看

    scene视图里面能直接看,打开左上角那个下拉选项,选择overdraw就行 转载篇在game视图下查看overdraw:       https://blog.csdn.net/complicate ...

  7. .net core 多平台部署

    首先下载地址 https://dotnet.microsoft.com/download 下载.net core 和  .net core runtime  然后安装他们 控制台运行项目: 找到你的工 ...

  8. C 标准库 - string.h之memmove使用

    memmove Move block of memory Copies the values of num bytes from the location pointed by source to t ...

  9. InnoDB的后台线程(IO线程,master线程,锁监控线程,错误监控线程)和内存(缓冲池,重做日志缓冲池,额外内存池)

    InnoDB有多个内存块,你可以认为这些内存块组成了一个大的内存池,负责如下工作: 维护所有进程/线程需要访问的多个内部数据结构. 缓存磁盘上的数据,方便快速地读取,并且在对磁盘文件的数据进行修改之前 ...

  10. 深入理解java集合框架之---------Linked集合 -----构造函数

    linked构造函数 1.LinkedList(): 构造一个空列表的集合 /** * 序列化 */ private static final long serialVersionUID = 1090 ...