如果使用的是VS2013需要下载并安装

Microsoft Visual Studio 2013 Installer Projects

下载地址:https://visualstudiogallery.msdn.microsoft.com/9abe329c-9bba-44a1-be59-0fbf6151054d

以VS2010为例

一、 在已有Winform项目的解决方案下,新建安装项目

二、 右键--->新建的项目,选择如下

会看到如下页面

三、 添加输出项目或程序集。

1. 添加输出项目,右键应用程序文件夹->选择项目输出。会出现下界面。在项目中选择你的项目。

2.如果你需要添加的是一些DLL或其他文件可以通过,应用程序文件夹->选择文件、程序集、文件夹等进行添加。

四、 为程序添加快捷方式

右击输出活动或者你要运行的exe文件

然后将这快捷键复制到“用户程序文件夹或者用户桌面”就能在程序文件夹或桌面上创建你的快捷方式了。

五、 为程序设置存放配置文件

在“应用程序文件夹”下,新建Config文件夹用于放置配置文件

注意,Config文件夹下的配置文件路径如果设置的是本地,本地可以正常运行,但是团队其他成员获取运行会报错。

正确做法是:将配置文件放置到当前项目之中,然后配置前往项目中获取

六、 下面介绍“用户程序文件夹”这个其实就是你点击开始按钮出现的那些文件夹如图。所有我一般建议在这里创建一个属于你自己程序的文件夹

步骤:

User's Programs Menu(用户桌面)也就是电脑开始菜单

下新建一个文件夹放置 程序客户端和卸载端

七、 右键项目点击生成就能生成你需要的安装文件了。

设置安装路径

[ProgramFilesFolder][Manufacturer]\[ProductName] 这个有可能在64位机器中会有问题

默认如下图

下面是自定义,设置窗体的安装路径

设置完,查看效果如下

八、 一个程序只能安装不能卸载,那是个让人抓狂的事情,下面我们可以为打包程序添加一个卸载快捷方式。

1、如图所示选择文件

添加C:\WINDOWS\system32\msiexec.exe这个文件。根据第四步的方式添加快捷键。一般会将快捷方式放在用户的程序菜单中。

2、选择快捷方式按F4修改属性

其中的Arguments 为产品的 /x"ProductCode"。

3、其中ProductCode是在这里的。选择你创建的项目。按F4就可以看到它响应的属性了。

   其中你可以修改其中你需要修改的值。

   其中ProductCode就是卸载是需要的值。

九、 有些应用程序需要在安装时添加一些自定义操作。

1、你新建一个类库。然后添加一个安装程序类。

2、在安装程序类中我们就可以进行自己的操作了。通过重写方法:

publicoverridevoid Install(System.Collections.IDictionary stateSaver)

和publicoverridevoid Uninstall(IDictionary savedState)

a) 其中接受安装时传过来的数据用

this.Context.Parameters["ed1"];其中ed1为参数明名称

3、添加配置页面

a)你可以用这里到

这里添加你需要的显示页面。是通过右击添加对话框。进行添加页面。

选择自己需要的界面:

b)配置参数,这些参数可以在我们刚才新建的安装类中获得。操作如下:

打开我们新建的界面属性页面

c)

这里配置参数名称及默认值。

4、添加用户自定义操作。

a)

选择自定义操作。

B)然后右击安装添加你的应用程序

C)然后书写你要转递的参数

其中CustomActionData为你要传递的参数格式为:/接受参数名=[安装信息中的一些信息的名称]如:上条中c)中画红线的部分。

WinForm程序打包说明的更多相关文章

  1. VS2013 Winform程序打包部署 InstallShield2015LimitedEdition

    VS2013 Winform程序打包部署 VS2013默认是没有安装打包程序的,需要手动安装,我安装的是 InstallShield2015LimitedEdition. 1.点击解决方案,右键,选择 ...

  2. WinForm程序打包工具InnoSetup使用说明图文教程

    WinForm程序打包工具InnoSetup使用说明图文教程 WinForm程序开发测试好了,如果将Debug/Release里面的文件发给客户使用,会让客户觉得你不够专业,但是使用VS自带的打包工具 ...

  3. 用installshield2013 将winform程序打包成exe执行程序

    前期准备工作 1,一个已经测试通过的winform程序 2,安装好的installshield2013插件   ps:一般VS都没有安装此插件,需要自己去下载 打包步骤 1,新建一个打包程序 ps:如 ...

  4. WinForm程序打包教程

    准备工作 1. 编写完成的WinForm程序 2. 安装部署项 VS2010中有一个自带的安装部署项目,叫:Visual Studio Installer ,通常称为:setup项目,是一个用于自定义 ...

  5. Winform 程序打包及安装

    前言 近期被公司外派到驻空调厂的项目组,支援一个TCP相关的程序对接.主要是做智能门禁系统,然后主要是统计出实时的进出人数. 我这边能作为服务端,门禁设备作为客户端,整个流程并不算复杂,根据协议来写, ...

  6. winform程序打包成exe文件

    拿到一个实现功能的winform小程序,如何利用NSIS工具制作安装包? 1.NSIS工具下载地址 点我下载 2.启动NSIS工具,如图点击 3.选择"使用脚本向导创建新的脚本文件" ...

  7. [转]VS2010 (C#)winform程序打包发布图解

    1.新建一个Windows窗体应用程序,例如项目名为monitor,功能略.新建的时候不要忘了创建解决方案. 2.在monitor解决方案上“右击”—— “添加”——“新建项目”,选择“其他类型项目” ...

  8. WinForm开发(6)——C#/winform程序打包部署时,如何把SQL数据库一起打包进去

    打包数据库到安装程序中 方法1. 备份/恢复先备份数据库:backup database 数据库 to disk='c:\备份.bak' 将备份文件打包到安装程序中. 在第一次运行程序的时候,进行数据 ...

  9. C# Winform程序打包

    1.新建一个安装项目,起名“Setup3” 2.点击应用程序文件夹 3.在右侧右键点击添加文件 注意:是Debug文件夹下所有程序 接着在添加你的应用程序项目的时候,多添加一个msiexec.exe进 ...

随机推荐

  1. NET基础(2):类型转换

    CLR最重要的特性之一就是类型安全的.在运行时,CLR总是知道对象的类型是什么.调用GetType()方法可以知道对象的确切类型,由于它是非虚方法,所以一个类型不可能伪装成另一种类型.每种编程语言都规 ...

  2. cmd运行sql server安装

    cmd运行sql server安装 SQL2012非群集安装_更新到最新版本.bat setup.exe /UpdateSource=.\hotfix\Latest /ACTION="Ins ...

  3. OAuth2.0概述

    OAuth2.0较1.0相比,整个授权验证流程更简单更安全,也是未来最主要的用户身份验证和授权方式. 关于OAuth2.0协议的授权流程可以参考下面的流程图,其中Client指第三方应用,Resour ...

  4. Safari中的new Date()格式化坑

    今天在测试的时候发现,在Chrome中的如下代码: new Date("2014-03-09"); 在Safari中报错invalid date.经过查阅资料找到类似的问答: st ...

  5. :input 匹配所有 input, textarea, select 和 button 元素

    描述: 查找所有的input元素,下面这些元素都会被匹配到. HTML 代码: <form> <input type="button" value="I ...

  6. 前端开发面试题JS2

    21.如何判断一个对象是否属于某个类? 使用instanceof if(a instanceof Person){ alert('yes'); } 22.new操作符具体干了什么呢? (1)创建一个空 ...

  7. Dynamics AX 2012 R2 为运行失败的批处理任务设置预警

    我们主要有两种类型的系统监视:环境健康监视和性能监视. 环境健康监视一般对系统性能影响非常小,是为了提醒潜在的问题. 性能监视通常更有侵入性.监视期间,添加一个负载到环境.因此,它可以回答特定的问题或 ...

  8. Linux多节点互信配置

    SSH互信设置步骤:   1. 每个节点上分别生成自己的公钥和私钥   2. 将各节点的公钥文件汇总到一个总的认证文件authorized_keys中   3. 将这个包含了所有节点公钥的认证文件au ...

  9. POJ 3281:Dining(最大流)

    http://poj.org/problem?id=3281 题意:有n头牛,f种食物,d种饮料,每头牛有fnum种喜欢的食物,dnum种喜欢的饮料,每种食物如果给一头牛吃了,那么另一个牛就不能吃这种 ...

  10. if 语句运用

    运用if语句完成对年.月.日的判断. Console.WriteLine("其输入年份:"); int a = int.Parse(Console.ReadLine()); Con ...