本文详细和大家讲一下打包部署仅仅为基础的打包方案,打包附加.netframework包的操作仅在Visual Studio2005以及以上版本才有效,VS2003的话需要下载一个PluginInstaller.msi插件包。
下面开始吧。
第一步
:
新建安装部署项目
打开 VS, 点击新建项目 , 选择 : 其他项目类型 -> 安装与部署 -> 安装向导 ( 安装项目也一样 ), 然后点击确定 .( 详细见下图 )
打开 VS, 点击新建项目 , 选择 : 其他项目类型 -> 安装与部署 -> 安装向导 ( 安装项目也一样 ), 然后点击确定 .( 详细见下图 )
第二步
:
安装向导
关闭后打开安装向导
,
点击下一步
,
或者直接点击完成
.
如下图
:
第三步
:
开始制作
安装向导完成后即可进入项目文件夹
:
双击
"
应用程序文件夹
"
在右边的空白处右击
,
选择添加
->
文件
,
将你的做的应用程序的可执行文件和相应的类库和组件添加进来
.
PS:
在这里
,
有很多朋友问我
,
什么是
应用程序的可执行文件和相应的类库和组件
,
在这里我解释一下
,
应用程序的可执行文件即是你建立的
winform
应用程序项目最终生成的
EXE
可执行文件
,
而相应的类库则是执行这个
EXE
文件所有需要的非操作系统
dll
文件
,
在这里只要将
EXE
文件选中添加
,VS
会自动将其用到的
DLL
文件添加
.(
这里你可以将应用程序项目中生成方式选择
Release,
然后生成
,
将
bin/Release
文件夹下的文件按结构添加进来即可
)
然后右击你的可执行文件
,
创建快捷方式
,
然后把快捷方式分别剪切或复制到左边的
"
用户的
'
程序
'
菜单
"
和
"
用户桌面
"
中
.
这样安装程序安装安装完成后会在
"
开始
->
所有程序
"
和
"
桌面
"
上生成程序的快捷方式
.
然后右击左边的
"
应用程序文件夹
"
打开属性对话框
:
将属性中的
"
defaultlocation
"
的路径中的
"[manufacturer]"
去掉
,
不然的话做好的安装程序默认安装目录会是
"c:\programm file\
你的用户名
\
安装解决方案名称
";
修改后如图
:
然后打开解决方案管理器
,
右击你的解决方案名称
,
选择属性
:
在打开的属性页中
,
选择
"
系统必备
",
在打开的系统必备页中
,
选中如下中的选择项
,
这个很重要
!!!!!1!!!!!
选上以后
,
在生成的安装文件包中包含
.netframework
组件
.(
这个选项默认是没有选中的
)
在这里解释一下3个选项,第一个选项“从组件供应商的网站上下载系统必备组件”,选中此选项,当安装时检测到系统没有安装.netframework组件时,系统提示到微软官方下载组件,并给出下载地址;第二个选项“从与我的应用程序相同的位置下载系统必备组件”,选中此选项,安装程序生成时会在同目录下生成.netframework组件,当安装程序检测到系统没有安装组件时会提示进行安装,当然此选项生成的安装程序会比较大一些;第三个选项,看名字应该也可以猜测到他的意图,可以自行自定.netframework组件的安装位置。
好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!
第四步
:
制作完成
现在打开解决方案文件夹下的
debug
文件夹
,
就可以看到生成的安装文件了
.
第五步:卸载功能的添加
众所周知,基本上每个安装都会在安装后的程序菜单中提供卸载本程序的快捷方式,从我们以上步骤建立的安装程序并不附加此功能,
但是我们安装后,如果再次运行此安装程序,则会提供重新安装、修改和删除应用程序的功能,也就是程序的卸载功能,也可以通过
控制面板进行卸载完成,不过我们可以看出,程序的打包是通过
Windows Installer
来完成的,我们这里也可以通过
Windows Installer
来完成卸载功能。
在添加你的应用程序项目的时候,多添加一个
msiexec.exe
进去
,
这个文件在
c:\windows\system32
文件夹下
,
添加进去以后
,
为了让他更像个卸载程序
,
把他的名字改成
"Uninstall.exe",
当然这个关系不大
,
改不改都行的
.
然后给他创建一个快捷方式
,
放到桌面或者
"
开始
-
程序
"
中
,
我选择放在了开始菜单中
,
然后下面我们要的做的就是查找这个部署项目的
ProductCode
了
,
鼠标左键单击项目名称
,
记住是左键单击
,
然后点击属性标签
,
注意
:
不是右击的属性
,
这个区别很大
,
这时你就可以看到
ProductCode
了
,
然后打开你创建的那个快捷方式的属性对话框
,
在
Aguements
属性中输入
"/x {ProductCode}",
其中的
"/x {ProductCode}"
为
Windows Installer
的卸载命令,高版本也有所不同,高版本的
"/uninstall {ProductCode}"
也可用,不过
"/x {ProductCode}",
是通用的。
好了
,
然后点击
"
生成解决方案
"
即可生成带有卸载功能的安装程序了
.
现在可以试试生成安装程序,是否已经具有了卸载功能?
PS
:在添加某些操作系统
DLL
的时候可能会有警告的提示,这个不会对程序有什么影响,不用害怕。
好了
,
然后点击
"
生成解决方案
"
即可生成带有卸载功能的安装程序了
.