C#软件winform程序安装包制作及卸载程序制作

使用vs2010 winform程序开发的软件的人比较多,程序的开发是为了在不同的人不同的机器使用,为了使不同的机器能使用该软件就需要在制作程序安装包,安装包里必须包含该软件运行所选的所有环境,下面就来讲解下winform程序安装包的制作。

1:新建安装部署项目

打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定.(详细见下图)

此主题相关图片如下:

新建安装部署项目

2:安装向导

关闭后打开安装向导,点击下一步,或者直接点击完成.

3:开始制作

安装向导完成后即可进入项目文件夹:

双击”应用程序文件夹”在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来.

开始制作

然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的”用户的´程序´菜单”和”用户桌面”中.

这样安装程序安装安装完成后会在 “开始->所有程序”和”桌面”上生成程序的快捷方式.

程序的快捷方式

然后右击左边的”应用程序文件夹”打开属性对话框:

将属性中的”defaultlocation”的路径中的”[manufacturer]“去掉,

不然的话做好的安装程序默认安装目录会是”c:\programm file\你的用户名\安装解决方案名称”;

然后打开解决方案管理器,右击你的解决方案名称,选择属性:

在打开的属性页中,选择”系统必备”,

选择”系统必备

在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!!

选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)

安装文件包

关于系统必备的说明:

如果机器上没.net环境采用上面的方法是网上下载安装,下面的方法则是本地直接安装免去下载的过程。

设置系统必备,右键选择安装项目,进入属性页中,单击”系统必备”按钮,进入系统必备对话框;勾选“创建用于安装系统必备组件的安装程序”,在安装系统必备组件列表中,选择

重要一点:勾选”从与我的应用程序相同的位置下载系统必备组件(D)”,其实意思就是说你勾选后,生成安装项目时,在你安装项目的路径下,会有你在系统必备组件列表中勾选的组件.(系统自动完成,这一点还不错,不需要你自己去下载组件)

好了,这样就完成99%了,然后点击”生成->生成解决方案”,哈,生成成功!

4:制作完成

现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了.

【续】关于”卸载”功能的添加

上面的文章只介绍了简单的生成安装的方法,

但是在vs.net2005下并没有直接生成卸载程序的功能,

所以我们只好用msi来实现了,

原理我就不讲了,网上一搜一堆,我只讲操作,

【1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,

这个文件在c:\windows\system32文件夹下,

添加一个msiexec.exe

添加进去以后,为了让他更像个卸载程序,把他的名字改成”Uninstall.exe”,

当然这个关系不大,改不改都行的.

然后给他创建一个快捷方式,放到桌面或者”开始-程序”中,

我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了,

鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,

这个区别很大,这时你就可以看到ProductCode了,

鼠标左键单击项目名称

然后打开你创建的那个快捷方式的属性对话框,

在Aguements属性中输入”/x {ProductCode}”

属性对话框

生成带有卸载功能的安装程序

好了,然后点击”生成解决方案”即可生成带有卸载功能的安装程序了.

补充:

自定义用户界面

1、打开用户界面

2、这里可以设置已有窗体的属性和新增窗体

窗体的属性和新增窗体

设置窗体属性

设置窗体的属性

比如这里可以设置一下BannerBitmap,安装窗口上面的图片,方法和前面的ICO文件一样,浏览去找Images下面的Bmp文件即可!

就是这样的效果,哈哈,效果差了点啊!

设置一下BannerBitmap

可以根据需要来新增窗口,比如密码啊,等等

新增窗口

就是上面的这个窗口

五、卸载程序怎么打包上去?

我试了好几种方面都不太好使,可能是没理解!最后用了这一种方法,感觉还不错!

1、新建一个控制台程序

2、看代码

?

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace UninStall

{

class Program

{

static void Main(string[] args)

{

string sysroot = System.Environment.SystemDirectory;

System.Diagnostics.Process.Start(sysroot + “\\msiexec.exe “, “/x {522B529D-8A62-432D-962F-D0CFF826775E} /qr”);

}

}

}

注意上面代码里的红字部分,这个就是你要打包的程序的安装与部署项目的ProductCode,那么这个ProductCode在哪里找呢?请记住,这里 是两个系统,一个是你要打包的系统,另一个是控制台程序,所以啊,这点,要理解!去你要打包的项目里去找

安装与部署项目

看到了吧,就是它了!把它拷贝

过来,放在控制台程序里生成一下,上面UNIT里所导入的文件就是现在生成的文件了!!

转载于:https://www.cnblogs.com/xuxiaoshuan/p/3586340.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
包括NSIS安装包、NSIS编辑器以及很全的NSIS常用插件: NSIS 的插件 需要配合 Nullsoft Scriptable Install System(NSIS专业安装包制作工具) 才能使用。 NSIS 中文版下载地址: http://www.52z.com/soft/5228.html Animate : Animate 插件 AnimGif : 在程序中添加 GIF 动画 Base64 : 编码或解码普通文本成 Base64 编码 Blowfish : Blowfish 算法插件 BrandingURL : 将BrandingText变成链接的插件 ButtonEvent : 响应任何页面控件事件的插件 Cabdll : 以CAB方式压缩dll文件的插件 CABSetup : CABSetup 插件 CDROM : 控制 CD-ROM 并可读取 CD-ROM 信息 ChangeRes : 调整屏幕分辨率、刷新率、色深,注意不可超出屏幕最大分辨率 Chngvrbl : 自定义NSIS默认临时文件夹插件 CRCCheck : 用于检查指定档案的CRC32数值 CryptoPlg : 用于加密指定档案的校验值(MD5/SHA1/MD2/MD4) CustomLicense : 自定义许可页面插件 Delay : 可以强制使某个按钮延时 X 秒后才能使用 Dialogs : 调用打开、保存文档框等命令 DumpLog : 记录安装日志插件 EBanner : EBanner 插件 EmbeddedLists : 使用INI+此插件可使NSIS显示列表视图和树视图控件 EnumCDs : 枚举CD驱动器插件 EnumINI : 枚举INI值插件 EventLog : 记录安装日志插件 ExDlg : 使用res资源文件建立自定义页面的插件 ExecCmd : 执行命令行插件 ExecDos : 执行dos批处理文件的插件 ExecTimeout : 限时执行程序的插件 Extractdll : 解压dl_文件为dll类型的插件 Extractdllex : 解压dl_文件为dll类型的插件(扩展版,使用lzma压缩) Fct : 能找到指定窗口并关闭的插件 FindProc : 进程查找插件 GetVersion : 获取Windows系统版本插件 HandleFileDragDrop : 使NSIS支持文件拖拉的插件 HelpButton : 帮助按钮插件 HwInfo : 硬件信息插件 Inetc : Internet连接插件 InetLoad : Internet连接 插件 InstallOptionsEx : InstallOptionsEx 自定义页面插件扩展版 Internet : Internet 插件 Ipdll : 查询本机IP插件 KillProcDLL : 进程结束插件 Linker : 在任何页面创建快捷方式插件 Locate : 列举文件夹目录树插件 LockedList : 能检测安装、卸载需要前需要关闭的程序。以便安装正常进行 LogEx : 安装日志控制插件扩展版 Marquee : 能创建滚动文本字幕的插件 Md5dll : Md5计算插件 MessageBox : 自定义对话框插件 Metadl : 网页Meta信息下载插件 MoreInfo : 获取程序文件版本信息的插件 MSSQL_OLEDB : MSSQL OLEDB 插件 Name2ip : 域名与IP转换插件 NewAdvSplash : 新式 AdvSplash 插件 NotifyIcon : 系统托盘图标插件 NSISArray : NSIS 数组插件 nsisDDE : NSIS DDE 插件 NSISList : NSIS 列表插件 nsisMultiMon : NSIS 多屏幕信息检测插件 nsisOS : NSIS 操作系统信息采集插件 NSISpcre : NSISpcre 插件 nsisStartMenu : 开始菜单记录插件 nsisUser : 测试 Windows 用户登录插件 NsisXiMoL : NsisXiMoL 插件 nsisXML : XML 支持插件 NsMCI : MCI方式读取音频CD信息插件 NsRandom : 随机数生成插件 nsRestartExplorer : 重启桌面进程 Explorer 的插件 NsSCM : Windows 服务控制管理插件 NsScreenshot : 屏幕截图插件 nsWeb : 内嵌网页插件 Nwizplugin : NSIS 向导插件 Nxs : 进程条插件 PassDialog : 密码框插件 RegBin : 二进制形式注册表插件 Registry : 注册表插件 Rfshdktp : 桌面刷新插件 Safer : 安全运行程序插件(Vista以上) ScrollLicense : 需要滚动许可页面到底部才能继续安装的插件 SelfDel : 删除自身插件 Services : Windows 服务插件 SfHelper : sourceforge开源网站下载镜像站点查询插件 Shelllnk : 显示快捷方式信息的插件 ShutdownAllow : 允许关机插件 SimpleBg : 建立一个简易安装背景的插件 SkinnedButton : 使用图片作为按钮的插件 SpiderBanner : 能创建一个像Windows复制文件那样的小型带进度条、退出按钮对话框的插件 Stack : 堆栈控制插件 SysRestore : 系统还原控制插件 tapihelp : 调制解调器modem控制插件 TCP : TCP连接创建插件 TextReplace : 文本替换插件 Time : 时间获取插件 ToggleInstFiles : 可以在安装页面(InstFiles)显示/隐藏安装日志框插件 Tooltips : 气球提示插件 TSFD : 文件选择、保存对话框插件 Unicode : 文本Unicode编码转换插件 UnTGZ : TGZ 解压插件 UserMgr : Windows用户控制插件(创建、修改用户) version : Windows版本获取插件 XML : XML 支持插件 XtInfoPlugin : 多种软件信息采集插件 新增插件: AnimGif plug-in--可以用来为安装页面上使用gif图片格式的插件,同时也支持静态bmp和jpeg格式 CDRom plug-in-- 开/关CD-ROM 舱门;获取CD-ROM 状态(准备好,尚准备好);获取ready信息(卷标名,卷标数)查找系统中所 有CD-ROM (依靠Enumerate_CD-ROM_Drives 插件) GetVersion (Windows) plug-in--获取Windows版本信息的插件(名字,类型,版本,....) KillProcDLL plug-in-- 功能与KillProc类似,清除进程的插件,根据返回值来执行清除命令. Linker plug-in--一个来把label转化成一个超级链接的插件 LockedList plug-in--用来显示或取得选者被卸载或覆盖文件的锁定程序列表插件 NSISdl Smooth-- NSISdl plug-in的修改版本,增加了安装过程的平滑风格显示.与NSISdl的功能没有其他差别 NSISpcre plug-in-- Nsis 正则表达式使用的插件 Name2ip plugin--把主机名转换成IP 地址。 NsProcess plugin--通过名字查找/杀掉进程;通过指定的进程名杀掉所有进程,进程名不区分大小写;支持 Win95/98/ME/NT/2000/XP ,插件大小仅为4KB. PassDialog plug-in--可以创建4种密码对话框的插件 用于创建用户名、密码或者序列号之类的验证是个错的选择。 ShutDown plug-in--一个注销,重启或关闭计算机的NSIS插件。, o% Y# d; G0 }) _5 p1 p5 O1 e ShutdownAllow plug-in--当安装程序运行时,这个插件允许Windows关闭或者注销。 SkinnedButton plug-in --这个插件允许在安装按钮上添加皮肤 Stack plug-in--这个NSIS插件可以操作NSIS堆或者私人堆 TextReplace plugin--文本替换插件9 X) l4 u$ i1 e Time plug-in--时间插件

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值