如果使用的是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. Struts 404 The requested resource is not available

    出现这种错误一般是struts.xml配置错误,重点针对<action> 的class属性的全名 因为struts感觉应该是先加载所有的配置文件,如果配置文件有错误的话,所有的资源就都无效 ...

  2. 配置MyBatis

    创建WebProject之后先把mybatis-3.2.2.zip里的mybatis-3.2.2.jar包和lib里的asm-3.3.1.jar.cglib-2.2.2.jar.commons-log ...

  3. 创建和导出SVG的技巧(转载)

    本文转载自: 创建和导出SVG的技巧

  4. 获取访问者ip的方法

    package com.mi.util; import javax.servlet.http.HttpServletRequest; import org.apache.commons.lang3.S ...

  5. SQL语句实现取消自增列属性

    SQL语句实现取消自增列属性 --由于在SQL-SERVER中,自增列属性不能直接修改,但可以通过以下方式变向实现 --1.如果仅仅是指定值插入,可用以下语句,临时取消 SET IDENTITY_IN ...

  6. VS2013 密钥

    MXS&Vincene  ─╄OvЁ  &0000017─╄OvЁ  MXS&Vincene MXS&Vincene  ─╄OvЁ:今天很残酷,明天更残酷,后天很美好, ...

  7. 函数柯里化(Currying)示例

    ”函数柯里化”是指将多变量函数拆解为单变量的多个函数的依次调用, 可以从高元函数动态地生成批量的低元的函数.可以看成一个强大的函数工厂,结合函数式编程,可以叠加出很BT的能力.下面给出了两个示例,说明 ...

  8. SVN使用教程总结

    SVN简介: 为什么要使用SVN? 程序员在编写程序的过程中,每个程序员都会生成很多不同的版本,这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? ...

  9. 引用参数,值参数,ref,out

    1,一个参数只有在引用的时候才能改变其值,这是一种情况 2,一个参数在引用后要永久的改变其值(可以用返回参数的形式) 3,多个参数在引用后要永久的改变其值或者多个参数中的部分(返回参数就适合了,因为只 ...

  10. tcp粘包,udp丢包

    TCP是面向流的, 流, 要说明就像河水一样, 只要有水, 就会一直流向低处, 不会间断. TCP为了提高传输效率, 发送数据的时候, 并不是直接发送数据到网路, 而是先暂存到系统缓冲, 超过时间或者 ...