C#(VS2008)如何为打包发布WinForm应用程序(转)

转载地址:http://blog.csdn.net/kissmile/article/details/5871141

C#如何为winform程序打包发布应用(图解)

1:新建安装部署项目

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

2:安装向导

点击下一步,或者直接点击完成.

3:开始制作

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

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

一般添加 .exe文件就可以把其关联的库文件都加载进来, 不能自动加载的需要手动添加进来, 比如说明文档,测试数据... 

clip_image002

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

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

clip_image003

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

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

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

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

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

clip_image004

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

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

clip_image005

好了,这样就配置完成了

4:编译项目

image

编译完成之后在Debug或者Release文件夹下就出现安装文件了.

5. 添加卸载程序

vs.net2005下并没有直接生成卸载程序的功能, 所以我们只好用msi来实现了, 
【1】:在"应用程序文件夹"中,多添加一个msiexec.exe进去, 这个文件在c:/windows/system32文件夹下, 

  

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

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

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

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

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

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

【转】C如何为winform程序打包发布应用 - 疾風知勁草 - 塵丗間....①蒾途尐書瞳

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

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

【转】C如何为winform程序打包发布应用 - 疾風知勁草 - 塵丗間....①蒾途尐書瞳

【转】C如何为winform程序打包发布应用 - 疾風知勁草 - 塵丗間....①蒾途尐書瞳

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

然后编译就可以生成卸载程序了, 如下:

image

6. 注册一种文件类型, 并为之添加默认打开的应用程序和默认图标

就像 .doc文件是用word打开一样, 并且有一定的图标.

首先创建一种文件类型, 点击管理器中的某个图标(如下图), File Type Editor,

image

右键新建一种文件类型. 在属性窗口中输入相应的信息,比如文件类型名字, 扩展名..command 是选择默认打开的应用程序, ICON是文件类型的图标

image

image

image

创建文件关联:

双击用某程序打开, 比如双击 *.dyn用DynEdGS.exe打开, 需要创建一种文件类型,并加入启动参数" %1" 注意%号前面必须有一个空格

设置好之后就完成了...

image

关于对 .NetFramework ** 的依赖问题, 如何仅依赖.Netframework 2.0 ?

 首先在安装项目上点右键-->选择启动条件

然后修改.net framewrok的属性设置为.net 2.0即可

原文地址:https://www.cnblogs.com/beijia/p/setup.html