c#程序打包大全
c#程序打包现在分为两种,一种是VS自带的打包方式,还有一种是第三方的打包方式,在VS2013里面是没有自带打包安装部署的,只有第三方的创建。
第三方打包方式很简单,百度Installshield下载下来,安装好直接运行,简单容易懂
打包很有意思,上学时很喜欢玩游戏,所以假设自己做了个小游戏也能打包给别人安装玩乐,感觉挺有意思的,因为喜欢,所以才学,兴趣真的是最好的老师


直接下一步下一步就可以了,不用什么讲究,说说下一种方式吧。
新建一个安装部署解决方案,把需要的打包程序文件都添加到引用程序文件夹,要是想程序菜单和用户桌面有快捷方式的话就创建快捷方式添加到对应的文件里面
自定义操作,把你想要的执行程序等添加进来

用户界面可以添加对应的效果

选择引用程序文件夹属性,把DefaultLocation的值修改一下,去掉默认的安装路径,不然会安装到c:/里面,不好找,这个也是百度查的介绍

点击解决方案的属性,下面有图

找到ProductCode,这个是卸载的标识产品ID

把这个值搞到自定义操作的卸载属性里面,这个卸载文件是windows/system32/路径下面的msiexec.exe文件,这个卸载操作本人没有实现,装的是windows8.1系统,不是很了解

接下来还有安装时候的操作了,这个添加的是类库项目,在CustomActionData添加/targetdir="[TARGETDIR]"/属性,这样类库项目才能获取到路径值

using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Configuration.Install;
using System.Linq;
using System.Diagnostics;
namespace Library1
{
[RunInstaller(true)]
public partial class Installer1 : System.Configuration.Install.Installer
{
public Installer1()
{
InitializeComponent();
//在所有安装程序运行后执行
this.AfterInstall += new InstallEventHandler(Installer_AfterInstall);
}
private void Installer_AfterInstall(object sender, InstallEventArgs e)
{
//this.Context.Parameters["targetdir"] 获取自定义操作里面的安装路径,前提是要在自定义操作里面的CustomActionData中填入/targetdir="[TARGETDIR]/"才能获取
string path = this.Context.Parameters["targetdir"];//获取带有targetdir属性的安装路径
Process.Start(path + "\\终极版俄罗斯.exe");//运行指定路径的可执行程序
}
}
}
这样的话安装完后会执行指定的可执行文件了,基础的操作,图文虽乱,功能俱全。
还需在学习,记录。。。
c#程序打包大全的更多相关文章
- 以向VS 程序打包集成自动写入注册表功能为例,介绍如何实现自由控制安装过程
最近由于项目部署时需要更灵活的控制程序安装的流程以及自定义安装行为,特意研究了一下VS程序打包,把解决办法和大家分享一下. 以VS2010为例: 这是一个已经设置好最基本的Visual Studio ...
- VS2012程序打包部署详解
VS2012没有自带打包工具,所以要先下载并安装一个打包工具.我采用微软提供的打包工具: InstallShield2015LimitedEdition.下载地址:https://msdn.micr ...
- 他山之石——vs2013 安装与部署及程序打包
C#打包需要这个:InstallShield 2013 Limited Edition for Visual Studio .下载地址: InstallShield 2013 Limited Edi ...
- SNF开发平台WinForm之十一-程序打包-SNF快速开发平台3.3-Spring.Net.Framework
原来我们用的是微软自带的打包工具去打包,但感觉好像也是第三方做的打包并且很是麻烦,还有时不成功报错.那综合考虑就找一个简单实用的打包工具吧,就找到了NSIS这个.具体打包步骤如下: 1.安装NSIS ...
- Android 程序打包和安装过程
APP程序打包与安装的流程: APP的安装过程:
- 【转】VS2012程序打包部署详解
上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...
- 将eclipse的应用程序打包成.exe
转自:http://blog.163.com/loveshijie_1991/blog/static/1760553112012102573437156/ 参考:http://blog.csdn.ne ...
- 用命令行将Java程序打包为jar文件
如何把写好的Java程序打包为jar文件呢?有两种方式可以选择 1.命令行的方式: 打包jar cf JAR文件名称 程序文件名称或者程序所在的文件夹举例:jar cf MyApp.jar D:Jav ...
- [转载]VS2012程序打包部署详解
上篇博客把收费系统的总体设计进行了一遍讲解,讲解的同时掺杂了些有关.NET编译机制的总结.程序编写测试完成后接下来我们要做的是打包部署程序,但VS2012让人心痛的是没有了打包工具.不知道出于什么原因 ...
随机推荐
- 第一篇博文:PHP函数原型中的可选参数写法为什么这么写?
第一篇,算是开始吧.简单写点儿东西. 刚开始学PHP,在看PHP Manual时遇到一个问题:含可选参数的函数原型中,可选参数的写法看不懂. 例如explode函数 array explode ( s ...
- 老鸟谈谈JAVA EE的学习
老鸟谈谈JAVA EE的学习 因为出差和项目的原因,有将近一个月的时间没有更新博客了,今天终于得闲,和兄弟们分享一下JAVA EE的学习心得.书中带过,直入主题,下面我们首先看看什么是JAVA EE. ...
- [Logstash-input-redis] 使用详解
redis插件的完整配置 input { redis { batch_count => 1 #返回的事件数量,此属性仅在list模式下起作用. data_type => "lis ...
- Fundamentals of MVC
Chapter 1 Fundamentals of MVC Microsoft's Web Development Platforms Understanding the past can b ...
- SQL--使用NewID函数,创建GUID列
USE master GO IF EXISTS (SELECT * FROM sysdatabases WHERE name='DB_Temp') DROP DATABASE DB_Temp GO C ...
- Android 手机上获取物理唯一标识码[转]
所有添加有谷歌账户的设备可以返回一个 ANDROID_ID 所有的CDMA设备对于 ANDROID_ID 和 TelephonyManager.getDeviceId() 返回相同的值(只要在设置时添 ...
- 【转】关于redis.conf的参数配置
1. Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2. 当Redis以守护进程方式运行时,Redis默认会把pid写入/var/ru ...
- Emit学习(3) - OpCodes - 动态添加属性、构造函数、方法
上一篇介绍了 IL 的部分, 基础的部分, 暂时就介绍到那里了, 接下来要进入代码编写阶段了. 今天的主题是 在代码运行的过程中, 去动态的创建类, 属性, 方法. 来源:http://www.cnb ...
- C语言学习008:标准错误
在上一节中的数据文件中(C语言学习007:重定向标准输入和输出),如果文件中的数据包含非法数据,如何让程序显示一条错误的提示消息呢?就需要用到标准错误 #include <stdio.h> ...
- 用jquery实现遮罩层
<div style=" display:none" id="yinying"></div> <script type=" ...