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

Exe可以打包docker吗 exe程序打包_应用程序


2:安装向导

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



3:开始制作安装向导完成后即可进入项目文件夹:

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

(基本上是将你开发的WINFORM程序中的bin下的Release文件夹或Debug文件夹中的程序全部的导入进来)

Exe可以打包docker吗 exe程序打包_应用程序_02

然后右击你的可执行文件,创建快捷方式,然后把快捷方式分别剪切或复制到左边的"用户的'程序'菜单"和"用户桌面"中.
这样安装程序安装安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式.

Exe可以打包docker吗 exe程序打包_.net_03

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


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

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


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



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


Exe可以打包docker吗 exe程序打包_Exe可以打包docker吗_04

在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!!
选上以后,在生成的安装文件包中包含.netframework组件.(这个选项默认是没有选中的)

Exe可以打包docker吗 exe程序打包_解决方案_05


好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!
4:制作完成
现在打开解决方案文件夹下的debug文件夹,就可以看到生成的安装文件了.



【续】关于"卸载"功能的添加
上面的文章只介绍了简单的生成安装的方法,
但是在vs.net2005下并没有直接生成卸载程序的功能,
所以我们只好用msi来实现了,
原理我就不讲了,网上一搜一堆,我只讲操作,
【1】:在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,
这个文件在c:\windows\system32文件夹下,

Exe可以打包docker吗 exe程序打包_Exe可以打包docker吗_06

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



当然这个关系不大,改不改都行的.
然后给他创建一个快捷方式,放到桌面或者"开始-程序"中,
我选择放在了开始菜单中,然后下面我们要的做的就是查找这个部署项目的ProductCode了,
鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,
这个区别很大,这时你就可以看到ProductCode了,(在这里你也可以配置程序的图标和发布者信息等等)

Exe可以打包docker吗 exe程序打包_应用程序_07

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

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


Exe可以打包docker吗 exe程序打包_.net_08

Exe可以打包docker吗 exe程序打包_应用程序_09



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

 

 

 

 

 

补充如何修改发布后的程序的安装目录:

Exe可以打包docker吗 exe程序打包_解决方案_10

注:右击Application Folder(即“应用程序文件夹”),选择“属性窗口”,将DefaultLocation属性的值“[ProgramFilesFolder][Manufacturer]\[ProductName]”中红色的“[Manufacturer]”删除,若不删除的话,安装程序默认安装目录会是“X:\program file\你的用户名\安装解决方案名称”。

[ProgramFilesFolder][Manufacturer]\[ProductName]  
D:\Program Files\[ProductName]   (修改默认安装在D盘)

 

 

补充 .net2.0项目安装包安装时要求安装.net3.5问题的解决办法

在VS2008下的2.0项目,在到客户部署安装时候,发现检查设置的时候需要安装.net3.5,解决方法如下:

1. 在安装项目点击右键,依此选择“视图-启动条件”;

2. 打开启动条件标签后,展开启动条件文件夹,找到.net Framework,右键选择属性窗口,看到Version属性中显示的是3.5.21022,点击下拉框改成2.0.50727

Exe可以打包docker吗 exe程序打包_Exe可以打包docker吗_11