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. SecureCRTPortable的安装和使用(图文详解)

    不多说,直接上干货! 玩玩这个远程连接软件,是个绿色软件. 别人已经做好了的. 解压之后, 下面,软件展示下, 这会默认去打开, 为了,方便,使用,放到桌面,作为快捷方式 成功 欢迎大家,加入我的微信 ...

  2. Linux 进程以及多线程的支持

    1.最初内核并没有实现对多线程的支持,2.6之后开始以轻量级进程的方式对多线程进行支持(轻量级线程组). a.在2.6 之前,如果需要实现多线程,只能在用户态下实现,用户程序自己控制线程的切换, 实际 ...

  3. canvas猜数游戏

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. Flink初始

    flink初始 flink是什么 为什么使用flink flink的基础概念 flink剖析 实例 flink是什么 flink是一个用于有界和无界数据流进行有状态的计算框架. flink提供了不同级 ...

  5. Nginx教程(6) 负载均衡

    一原理 二例子 在 nginx-1.13.0.tar.gz下测试 upstream test { server 192.168.56.90:8180 weight=1 max_fails=3 fail ...

  6. flask框架的学习

    ---恢复内容开始--- 第一个flask程序讲解:1. 第一次创建项目的时候,要添加flask的虚拟环境.添加虚拟环境的时候,一定要选择到python这个执行文件.比如你的flask的虚拟环境的目录 ...

  7. SDSM框架

    标题解释 SDSM指的是SpringMVC+Dubbo+Spring+Mybatis的框架 ------------------------------------------------------ ...

  8. 6.042 Mathematics for Computer Science

    课程信息 6.042 Mathematics for Computer Science

  9. var、let、const的区别,以及作用范围。

    在es5中一般经常使用的变量有两个级别,一个是用var声明的全局级别的变量,另外一个是函数级别是用var生命在函数内的.本文中将详细讲解我对es6中的const和let的区别. let的使用以及作用范 ...

  10. Redis---1、介绍

    Redis简介: 是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求. 优点: 对数据高并发读写 对海量数据的高效率存储和访问 对数据的可扩展性和高可用行 ...