WinForm程序打包说明
如果使用的是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程序打包说明的更多相关文章
- VS2013 Winform程序打包部署 InstallShield2015LimitedEdition
VS2013 Winform程序打包部署 VS2013默认是没有安装打包程序的,需要手动安装,我安装的是 InstallShield2015LimitedEdition. 1.点击解决方案,右键,选择 ...
- WinForm程序打包工具InnoSetup使用说明图文教程
WinForm程序打包工具InnoSetup使用说明图文教程 WinForm程序开发测试好了,如果将Debug/Release里面的文件发给客户使用,会让客户觉得你不够专业,但是使用VS自带的打包工具 ...
- 用installshield2013 将winform程序打包成exe执行程序
前期准备工作 1,一个已经测试通过的winform程序 2,安装好的installshield2013插件 ps:一般VS都没有安装此插件,需要自己去下载 打包步骤 1,新建一个打包程序 ps:如 ...
- WinForm程序打包教程
准备工作 1. 编写完成的WinForm程序 2. 安装部署项 VS2010中有一个自带的安装部署项目,叫:Visual Studio Installer ,通常称为:setup项目,是一个用于自定义 ...
- Winform 程序打包及安装
前言 近期被公司外派到驻空调厂的项目组,支援一个TCP相关的程序对接.主要是做智能门禁系统,然后主要是统计出实时的进出人数. 我这边能作为服务端,门禁设备作为客户端,整个流程并不算复杂,根据协议来写, ...
- winform程序打包成exe文件
拿到一个实现功能的winform小程序,如何利用NSIS工具制作安装包? 1.NSIS工具下载地址 点我下载 2.启动NSIS工具,如图点击 3.选择"使用脚本向导创建新的脚本文件" ...
- [转]VS2010 (C#)winform程序打包发布图解
1.新建一个Windows窗体应用程序,例如项目名为monitor,功能略.新建的时候不要忘了创建解决方案. 2.在monitor解决方案上“右击”—— “添加”——“新建项目”,选择“其他类型项目” ...
- WinForm开发(6)——C#/winform程序打包部署时,如何把SQL数据库一起打包进去
打包数据库到安装程序中 方法1. 备份/恢复先备份数据库:backup database 数据库 to disk='c:\备份.bak' 将备份文件打包到安装程序中. 在第一次运行程序的时候,进行数据 ...
- C# Winform程序打包
1.新建一个安装项目,起名“Setup3” 2.点击应用程序文件夹 3.在右侧右键点击添加文件 注意:是Debug文件夹下所有程序 接着在添加你的应用程序项目的时候,多添加一个msiexec.exe进 ...
随机推荐
- NET基础(2):类型转换
CLR最重要的特性之一就是类型安全的.在运行时,CLR总是知道对象的类型是什么.调用GetType()方法可以知道对象的确切类型,由于它是非虚方法,所以一个类型不可能伪装成另一种类型.每种编程语言都规 ...
- cmd运行sql server安装
cmd运行sql server安装 SQL2012非群集安装_更新到最新版本.bat setup.exe /UpdateSource=.\hotfix\Latest /ACTION="Ins ...
- OAuth2.0概述
OAuth2.0较1.0相比,整个授权验证流程更简单更安全,也是未来最主要的用户身份验证和授权方式. 关于OAuth2.0协议的授权流程可以参考下面的流程图,其中Client指第三方应用,Resour ...
- Safari中的new Date()格式化坑
今天在测试的时候发现,在Chrome中的如下代码: new Date("2014-03-09"); 在Safari中报错invalid date.经过查阅资料找到类似的问答: st ...
- :input 匹配所有 input, textarea, select 和 button 元素
描述: 查找所有的input元素,下面这些元素都会被匹配到. HTML 代码: <form> <input type="button" value="I ...
- 前端开发面试题JS2
21.如何判断一个对象是否属于某个类? 使用instanceof if(a instanceof Person){ alert('yes'); } 22.new操作符具体干了什么呢? (1)创建一个空 ...
- Dynamics AX 2012 R2 为运行失败的批处理任务设置预警
我们主要有两种类型的系统监视:环境健康监视和性能监视. 环境健康监视一般对系统性能影响非常小,是为了提醒潜在的问题. 性能监视通常更有侵入性.监视期间,添加一个负载到环境.因此,它可以回答特定的问题或 ...
- Linux多节点互信配置
SSH互信设置步骤: 1. 每个节点上分别生成自己的公钥和私钥 2. 将各节点的公钥文件汇总到一个总的认证文件authorized_keys中 3. 将这个包含了所有节点公钥的认证文件au ...
- POJ 3281:Dining(最大流)
http://poj.org/problem?id=3281 题意:有n头牛,f种食物,d种饮料,每头牛有fnum种喜欢的食物,dnum种喜欢的饮料,每种食物如果给一头牛吃了,那么另一个牛就不能吃这种 ...
- if 语句运用
运用if语句完成对年.月.日的判断. Console.WriteLine("其输入年份:"); int a = int.Parse(Console.ReadLine()); Con ...