【转】 vs2008 用文件部署生成的exe安装包
1 新建安装部署项目
打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定。
2 安装向导
关闭后打开安装向导,点击下一步,或者直接点击完成。
3 开始制作
安装向导完成后即可进入项目文件夹:
双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来。然后右击你的文件,创建快捷方式,然后把快捷方式分别复制或剪切到左边的"用户的'程序'菜单"和"用户桌面"中。这样安装程序安装完成后会在 "开始->所有程序"和"桌面"上生成程序的快捷方式。也可以直接在"用户的'程序'菜单"和"用户桌面"相应目录下新建快捷方式,然后定位到你的文件。
然后右击左边的"应用程序文件夹"打开属性对话框:将属性中的"DefaultLocation"的路径中的"[Manufacturer]"去掉,不然的话做好的安装程序默认安装目录会是"C:/Program Files/你的用户名/安装解决方案名称";
然后打开解决方案管理器,右击你的解决方案名称,选择属性:打开的属性页中,选择"系统必备", 在打开的系统必备页中,在"指定系统必备安装组件的位置"中选中如下选择项:从与我的应用程序相同的位置下载系统必备组件。选上以后,在生成的安装文件包中包含.NetFramework组件 。好了,这样就完成99%了,然后点击"生成->生成解决方案",哈,生成成功!
4 制作完成
现在打开解决方案文件夹下的Debug文件夹,就可以看到生成的安装文件了。
5 关于"卸载"功能的添加
上面只介绍了简单的生成安装的方法,但是在VS2005下并没有直接生成卸载程序的功能,所以我们只好用msi来实现了,操作方法如下:
在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,这个文件在c:/windows/system32文件夹下,添加进去以后,为了让他更像个卸载程序,把他的名字改成"Uninstall.exe",当然这个关系不大,改不改都行。
然后创建一个快捷方式,放到"开始-程序"中,接下来我们要做的就是查找这个部署项目的ProductCode了,鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性,这个区别很大,这时你就可以看到ProductCode了。
然后打开你创建的那个快捷方式的属性对话框,在Aguements属性中输入"/x {ProductCode}",好了,然后点击"生成解决方案"即可生成带有卸载功能的安装程序了。
----------------------------------------------------------------------------------------------------------------------------------------------------------------
创建 windows 应用程序
在“文件”菜单上指向“新建”,然后选择“项目”。
在“新建项目”对话框中,选择“项目类型”窗格中的“visual basic 项目”,然后选择“模板”窗格中的“windows 应用程序”。在“名称”框中,键入“我的记事本”。
此项目被添加到解决方案资源管理器中,并且窗体设计器打开。
在“工具箱”中选择“windows 窗体”选项卡,并将“按钮”(button) 控件拖到疤逯小?
双击 button 控件为该按钮添加事件处理程序。在事件处理程序中添加下面的代码:
shell("notepad.exe", appwinstyle.normalfocus)
这将启动 notepad.exe 并将焦点对准它。
在“生成”菜单上,选择“生成我的记事本”该应用程序。
创建部署项目
在“文件”菜单上指向“添加项目”,然后选择“新建项目”。
在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。在“名称”框中,键入“我的记事本安装程序”。
项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“属性”窗口中,选择 productname 属性,并键入“我的记事本”。
注意 productname 属性确定应用程序显示在文件夹名称以及“添加/删除程序”对话框中的名称。
将 windows 应用程序添加到安装程序中
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“文件系统编辑器”中,选择“应用程序文件夹”节点。
在“操作”菜单上,选择“添加”->“项目输出”。
在“添加项目输出组”对话框中,从“项目”下拉列表中选择“我的记事本”。
从列表中选择“主输出”组,并单击“确定”。
在“生成”菜单上选择“生成我的记事本安装程序”。
部署应用程序(基本安装程序)
如果正在执行一个完整的演练过程,可以跳过此步骤。
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“项目”菜单上选择“安装”。
这将运行该安装程序并在开发计算机上安装“我的记事本”。
其余步骤演示可选的部署功能。
为 windows 应用程序创建快捷方式
此步骤将为您的应用程序创建一个快捷方式,安装过程中,会将该快捷方式放置到目标计算机的桌面上。
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“文件系统编辑器”中,选择“来自‘我的记事本’的主输出”节点。
在“操作”菜单上,选择“创建 主输出来自我的记事本(活动)的快捷方式”。
这将添加一个“主输出来自我的记事本(活动)的快捷方式”节点。
重命名“主输出来自我的记事本(活动)的快捷方式”快捷方式。
选择“主输出来自我的记事本(活动)的快捷方式”,并将其拖到左窗格的“用户桌面”文件夹中。
为 windows 应用程序创建文件关联
此步骤为“我的记事本”添加文件关联,以便双击 .vbn 文件时启动“我的记事本”应用程序。
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“视图”菜单上指向“编辑器”,然后选择“文件类型”。
在“文件类型编辑器”中选择“目标计算机上的文件类型”节点。在“操作”菜单上,选择“添加文件类型”。
将添加一个“新文档类型 #1”节点,而且该节点将打开,以便您重命名。
将“新文档类型 #1”重命名为 vbn.doc。
在“属性”窗口中,将文件类型的 extension 属性设置为 vbn。
选择 command 属性并单击“省略号”() 按钮。在“选择项目中的项”对话框中,定位到“应用程序文件夹”,并选择“来自‘我的记事本’的主输出”。
为 windows 应用程序添加注册表项
此步骤将一个注册表项以及相应的值添加到注册表中。运行时,可以从应用程序代码中引用此注册表项以检索每用户信息。
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“视图”菜单上,指向“编辑器”,并选择“注册表”。
选择“hkey_current_user”节点并将其展开,然后展开“software”节点,并选择“[manufacturer]”节点。
注意 “manufacturer”节点两边带有括号,这表示它是一个属性。它将被输入的部署项目的 manufacturer 属性值所替代。
在“操作”菜单上,选择“新建”->“键”。
重命名 userchoice 键。
在“操作”菜单上,选择“新建”,再选择“字串值”。
重命名 textcolor 值。
在“属性”窗口中,选择 value 属性,并输入 black。
添加自定义安装对话框
此步骤添加并配置一个在安装期间显示的自定义用户界面对话框。
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“视图”菜单上指向“编辑器”,然后选择“用户界面”。
在用户界面编辑器中,选择“安装”节点下的“启动”节点。
在“操作”菜单上,选择“添加对话框”。
在“添加对话框”对话框中,选择“复选框 (a)”。
在“操作”菜单上,选择“上移”两次,将“复选框 (a)”对话框放置在“选择安装文件夹”对话框之上。
在“属性”窗口中,将 bannertext 属性设置为“示例”。
将 bodytext 属性设置为“‘安装示例文件’复选框控制是否安装示例文件。如果处于未选中状态,则不安装示例。”
将 checkbox1label 属性设置为“要安装示例吗?”。
将 checkbox2visible、checkbox3visible 和 checkbox4visible 属性设置为 false。这将隐藏其他复选框。
添加 samples 文件夹
此步骤创建一个 samples 子文件夹,它将被安装到 application 文件夹的下面。
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“视图”菜单上指向“编辑器”,然后选择“文件系统”。“应用程序文件夹”仍应被选中。
从“操作”菜单上指向“添加”,然后选择“文件夹”。
将“新建文件夹 #1”重命名为“示例”。
为应用程序创建示例文件
此步骤创建两个简单的文本文件,如果用户在自定义对话框中选择“安装示例”选项,将安装这两个文本文件。
使用记事本或其他文本编辑器创建一个包含文本“这是 rules.vbn”的文本文件,然后将其保存为 rules.vbn。
注意 若要防止记事本自动添加 .txt 扩展名,请从“文件类型”下拉列表中选择“所有文件”。
创建另一个包含文本“这是 memo.vbn”的文本文件,将其保存为 memo.vbn。
将示例添加到安装程序中
此步骤将示例文件添加到 samples 文件夹中,并设置决定是否安装该文件的条件。
在解决方案资源管理器中选择“我的记事本安装程序”项目。从“视图”菜单中指向“编辑器”,选择“文件系统”,然后选择“示例”文件夹。
从“操作”菜单上指向“添加”,然后选择“文件”。将 rules.vbn 和 memo.vbn 文件添加到“示例”文件夹中。
在文件系统编辑器中选择 rules.vbn。
在“属性”窗口中,将 condition 属性设置为 checkboxa1=1。运行安装程序时,只在自定义的复选框被选中时才安装 rules.vbn 文件。
在文件系统编辑器中选择 memo.vbn 文件。
在“属性”窗口中,将 condition 属性设置为 checkboxa1=1。运行安装程序时,只在自定义的复选框被选中时才安装 memo.vbn 文件。
添加启动条件来检查 internet explorer 版本
此步骤检查在目标计算机上是否安装了 internet explorer 5.0 或更高版本,如果未安装所需版本的 internet explorer,将停止安装过程。
注意 此步骤旨在阐述启动条件的概念;“我的记事本”应用程序实际上并不依赖于 internet explorer。
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“视图”菜单上指向“编辑器”,然后选择“启动条件”。
在启动条件编辑器中,选择“目标计算机上的要求”节点。
在“操作”菜单上,选择“添加文件启动条件”。
将在“搜索目标计算机”节点下面添加一个“搜索 file1”节点,而在“启动条件”节点下面添加一个“condition1”节点。
将“搜索 file1”重命名为“搜索 internet explorer”。
在“属性”窗口中,将 filename 属性设置为 iexplore.exe,将 folder 属性设置为 [programfilesfolder],将 depth 属性设置为 2,将 minversion 属性设置为 5.00。
选择“condition1”节点。
将 message 属性设置为“该程序需要 microsoft internet explorer 5.0 或更高版本。请安装 internet explorer 并重新运行‘记事本’安装程序。”
设置部署项目的可选属性
此步骤设置一个属性,以便在目标计算机上没有正确版本的 windows 安装程序时,自动安装 windows 安装引导程序文件。
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“视图”菜单上,选择“属性页”。
在“我的记事本安装程序”属性页中,选择“引导程序”下拉列表,然后选择“windows 安装引导程序”。
在“生成”菜单上选择“生成我的记事本安装程序”。
在开发计算机上安装“我的记事本”
在解决方案资源管理器中选择“我的记事本安装程序”项目。在“项目”菜单上选择“安装”。
这将运行该安装程序并在开发计算机上安装“我的记事本”。
将“我的记事本”部署到其他计算机上
在 windows 资源管理器中,定位到项目目录并查找所生成的安装程序。默认路径是 /documents and settings/yourloginname/我的记事本安装程序/project configuration/我的记事本安装程序.msi,默认“项目配置”是“debug”