现在的位置: 首页 > 综合 > 正文

winform 自定义打包

2012年12月15日 ⁄ 综合 ⁄ 共 1767字 ⁄ 字号 评论关闭

这两天在做Winform 的打包。遇到了一些问题,从网上找了两天,总结一下,与大家分享。

一。比较基本的打包。这些操作,网上早就有很多便文章可以参考,我就不多说了。随给一个地址,不懂的人可以看看。

 http://www.cnblogs.com/bobby7514650/archive/2009/12/21/1629235.html

二。Winform封装了这些最基本的打包功能,但是没有什么个性。如果想让你的打包项目稍微有点个性化,可以进行一下操作。1.右键点击打包项目,选择视图——>用户界面,可以为应用程序添加一些其他的对话框。右键点击启动——>添加对话框,你可以添加自己的对话框。每个对话框都有很多属性,你可以自己点点,试试,具体的我也不说那么罗嗦了。另外,还可以调整所有对话框之间的显示顺序。

 

三。可以添加一些自定义操作。右击打包项目,选择视图——>自定义操作。自定义操作类似C#中的事件,即,这里有四种自定义操作,每种情况都可能发生,自定义操作是在某种情况发生之后(记住,是之后)被调用的。调用的一般是.DLL 或者 .EXE 文件。

 

下面我再说几种经常会遇到的情况。

 

首先,有时候,客户的电脑上没有安装 .net framework ,所以我们会比较希望用户不用下载.net了,而是直接给他现成的.net安装包。这种情况下,我们可以右键点击打包文件,选择属性,点击系统必备,在系统必备对话框中,有三个单选按钮,我们选择中间的那个,这样子,生成的打包文件就会包含 .net framework 。

 

如果是VS2010中想添加.net 2.0 的话,会提示未能加载必备项,这是因为VS2010在生成打包项目的时候,会去C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages 目录中寻找一个名为DotNetFX的文件夹。当然,这个文件夹默认是不存在的。如果你电脑上装的有VS2008,你可以去C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages这个文件夹中,把DotNetFX这个文件夹及其包含的所有内容拷到C:\Program Files\Microsoft SDKs\Windows\v7.0A\Bootstrapper\Packages这个文件夹中,问题就解决了。

 

如果你想把你的打包文件,连同那些系统必备文件再压缩成一个.EXE文件的话(这样子更加方便),可以进行一下操作。同时选中你的Release文件夹或者Debug文件夹中的所有文件,包括setup.exe , Setup.msi文件,以及生成的系统必备文件,点击右键,选择添加到压缩文件,在常规选项卡中:在压缩选项中选中“创建自解压格式压缩文件” ,在压缩文件名下方的文本框中输入你想要的名称。 选择“高级”选项卡,然后点击“自解压选项”按钮,会弹出“高级自解压选项”对话框,在常规路径下方的文本框中,输入C:\Program Files\你的软件名或公司名 , “解压后运行”下方的文本框,填入你需要运行的文件名,一般情况下是setup.exe,点击“文本和图标”选项卡,这个小页面会让你分别填写自解压窗口标题(即运行这个自解压文件时,这个窗口的标题),自解压窗口显示的文本(即运行自解压文件是,页面上的一些文字,你可以写上一些软件对客户端的要求等),自解压徽标(即运行自解压文件时,窗口左侧的图片,这个你一运行你就知道了),自解压文件图标(这是个.ico的LOGO,它决定了你生成的自解压文件的图标和运行自解压文件时窗口的图标)。需要说明的是,自解压窗口显示的文本支持HTML标记和CSS标记。

 

如果你想在安装时,老版本可以直接替代掉新版本的软件,可以进行如下操作。在VS中,左键点击打包项目,看属性窗口,最后一个属性是Version属性,你需要把Version属性改的高一点,然后把ProductCode重新生成一下,然后再把RemovePreviousVersions属性设置为True,就搞定了。(如果你做的有卸载的功能的话,由于ProduceCode已经更改了,所以,卸载的快捷方式的那个Arguments属性,也需要跟着调整一下。)

 

 

抱歉!评论已关闭.