C#软件winform程序安装包制作及卸载程序制作
操作方法
- 01
使用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里所导入的文件就是现在生成的文件了!!