vs2005自带的安装部署工具怎样使用啊?

captain_x 2007-12-27 12:26:56
如题,最好给个教程,谢谢了。
...全文
954 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
carlos1226 2007-12-27
  • 打赏
  • 举报
回复
这个问题你会用baidu或者google就不用到这里来问了啊
wsj1983920 2007-12-27
  • 打赏
  • 举报
回复
mark!!!
wonderful_abc 2007-12-27
  • 打赏
  • 举报
回复
VS.NET安装部署web项目

相信很多人都做过安装程序,目前最大功能最全的当属InstallShield,但是InstallShield的语法学习起来实在费劲,
相对而言vs.net自带的安装部署短小精悍,且使用C#语法,对于一般C#开发者来说使用起来就极为简便,在对其作了一些研究
之后,发现vs.net的安装部署项目的功能也已经非常好用,一般的程序安装都可以轻松实现,当然,在研究的过程中也发现了
一些缺陷,这个后面再提。下面就向大家介绍一下ASP.NET安装部署项目的一些复杂应用实现: 首先我们假设存在一个已经完
工的web项目eHRM,其文件列表如图


其中web.config中存在我们的数据库连接及系统的一些其他配置,如数据库类型等,这些配置需要在安装时进行修改。
OK,知道了我们的安装对象,现在开始做安装部署程序,首先,在解决方案中添加一个新项目,如图,项目类型为Web安装项目,项目名称eHRMSetUp。

项目添加完毕,选中eHRMSetUp,会发现工具栏发生了一些变化,如图所示:

主要有6个工具按钮,分别代码安装部署的6大编辑器:
1、 表示文件系统编辑器,主要用于目标机器的文件安装操作。
2、 表示注册表编辑器,用于目标机器的注册表操作。
3、 表示文件类型编辑器,用于向目标机器安装新的文件类型。
4、 用户界面编辑器,用于确定安装过程中所用到的一些界面。
5、 自定义操作编辑器,调用用户自定义的操作代码。
6、 启动条件编辑器,用于设置安装程序的启动条件。
这6个编辑器不一定全部会用到,我们的demo安装就只需要用到1/4/5大部分的安装包属性均存在于eHRMSetUp项目的属性中,属性界面如图:

在这里可以设置产品名称(eHRMSetUp),产品编号(ProductCode)以及安装包全球化类型(Localization)等相关的安装程序属性。除了eHRMSetUp安装部署项目,我们还需要添加一个eHRMSetUpCompenent项目,用来自定义安装操作,在eHRMSetUpCompenent项目中添加一个新的安装程序类,如图:

名称为eHRMInstaller.cs,在其中添加如下代码:
protected override void OnAfterInstall(IDictionary savedState) {
base.OnAfterInstall (savedState);
}
public override void Install(IDictionary stateSaver) {
base.Install (stateSaver);
}
protected override void OnBeforeInstall(IDictionary savedState) {
base.OnBeforeInstall (savedState);
}
public override void Uninstall(IDictionary savedState) {
base.Uninstall (savedState);
}
public override void Rollback(IDictionary savedState) {
base.Rollback (savedState);
}

这些代码将主要负责对于安装中的操作进行自定义处理,包括建数据库,配置web.config等。为了在安装部署中调用项目eHRMSetUpCompenent定义的操作,需要在项目eHRMSetUp中添加eHRMSetUpCompenent的主输出和项目eHRM的内容输出,具体操作是选择eHRMSetUp项目后右键 —— 添加 —— 项目输出 ——选择项目eHRMSetUpCompenent的主输出,添加完毕后如图:


现在回到项目eHRMSetUp,打开文件系统编辑器,点击Web应用程序文件夹,编辑其属性,属性界面如下:

其中比较重要的就是VirtualDirectory属性,表示安装后建立的虚拟目录名称,其他属性视具体情况而定。下面通过用户界面编辑器来配置用户的安装界面,vs.net2003目前所提供的窗口比较少,如图:

基本是几个比较简单的配置窗口,所以如果需要用到一些复杂的配置,那么这些窗口就远远不够用了,不过我们可以进行部分的扩展来实现这些复杂的配置,具体方法如下:
1、在项目eHRMSetUpCompenent中添加一个windows窗口FrmConfig.cs,设计我们需要用的界面。
2、修改eHRMInstaller.cs中的代码如下:
protected override void OnAfterInstall(IDictionary savedState) {
FrmConfig _FC = new FrmConfig();
_ FC.ShowDialog();
base.OnAfterInstall (savedState);
}
3、这样,在安装的过程中会中断并弹出FrmConfig让用户进行配置。最后就是通过自定义操作编辑器来设置安装过程中的自定义操作,从web应用程序文件夹选择主输出来自eHRMSetUpCompenent(活动),添加完毕如图所示:

VitualDir=[TARGETVDIR][TARGETDIR]和[TARGETVDIR]是系统部署自带属性,分别表示安装物理目录地址和虚拟目录地址。设置完这些自定义操作的传入参数后就可以直接在eHRMSetUpCompenent项目的代码中进行调用,调用代码如下:
public override void Install(IDictionary stateSaver)
{
//安装物理目录
string LogicDir = Context.Parameters["LogicDir"];
//安装虚拟目录
string VitualDir = Context.Parameters["VitualDir"];
//根据配置安装操作
base.Install (stateSaver);
}
最后需要做的就是卸载时的一些文件处理:
public override void Uninstall(IDictionary savedState) {
//安装物理目录
string LogicDir = Context.Parameters["LogicDir"];
//安装虚拟目录
string VitualDir = Context.Parameters["VitualDir"];
//处理自定义部分的安装内容,如数据库等
base.Uninstall (savedState);
}
完成了这一系列动作后,整个程序的安装雏形已经基本OK,只要在相应的地方加入实际安装中所需要进行的一系列Action就可以制作一个完整的安装部署程序。
注意事项:
1、Resource文件属于项目的源文件,而非内容文件,所以如果项目中有Resource文件存在,则需要添加项目的源文件输出,同时利用排除筛选器设置好对*.cs文件和*.resx文件的过滤。
2、Bin目录默认不在web项目中,所以打包还需要加入web项目的主输出或直接把bin目录下的文件加入到web项目中,这样生成的dll会包含在内容文件输出中。
3、安装制作过程中某些目录可能会无法创建(偶没能找到具体原因,估计是因为文件依赖性的缘故),则可以手工在Web应用程序文件夹中直接创建。
wonderful_abc 2007-12-27
  • 打赏
  • 举报
回复
Visual Studio 中的部署
演练:部署基于 Windows 的应用程序

本演练演示为启动记事本的基于 Windows 的应用程序创建一个安装程序的过程。在本演练中,您将首先创建一个基于 Windows 的应用程序,然后创建一个安装程序;以便在安装过程中设置快捷方式和文件关联、添加注册表项、显示自定义对话框以及检查 Internet Explorer 的版本。

创建自己的安装程序时,并非需要执行上面的所有步骤。本演练的目的是介绍部署中可能会用到的一些可选功能。若只是创建一个基本的安装程序,则只需完成此过程中的前四个部分。

注意
显示的对话框和菜单命令可能会与“帮助”中描述的不同,具体取决于当前的设置或版本。若要更改设置,请在“工具”菜单上选择“导入和导出设置”。有关更多信息,请参见 Visual Studio 设置。


注意
下面的说明演示如何使用 Visual Basic 项目创建部署项目,其一般原则适用于支持部署基于 Windows 的应用程序的所有 Visual Studio 语言项目。


基本应用程序的创建和部署

创建一个基于 Windows 的应用程序
在“文件”菜单上单击“新建项目”。

在“新建项目”对话框中,选择“项目类型”窗格中的“Visual Basic”,然后选择“模板”窗格中的“Windows 应用程序”。在“名称”框中键入“My Notepad”。

单击“确定”关闭对话框。

项目添加到“解决方案资源管理器”中,并且“Windows 窗体设计器”打开。

在“工具箱”中选择“所有 Windows 窗体”选项卡,然后将一个 Button 控件拖到窗体中。

双击 Button 控件为该按钮添加事件处理程序。在事件处理程序中添加下面的代码:


Shell("Notepad.exe", AppWinStyle.NormalFocus)
这将启动 Notepad.exe 并将焦点对准它。

在“生成”菜单上选择“生成 My Notepad”以生成该应用程序。

创建部署项目
在“文件”菜单上指向“添加”,然后单击“新建项目”。

在“添加新项目”对话框中,打开“项目类型”窗格中的“其他项目类型”节点,单击“安装和部署项目”,然后单击“模板”窗格中的“安装项目”。在“名称”框中,键入“My Notepad Installer”。

单击“确定”关闭对话框。

项目添加到“解决方案资源管理器”中,并且“文件系统编辑器”打开。

在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“属性”窗口中,选择“ProductName”属性,键入“My Notepad”。

注意
“ProductName”属性指定在文件夹名称和“添加/删除程序”对话框中为该应用程序显示的名称。


将基于 Windows 的应用程序添加到安装程序中
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“文件系统编辑器”中,选择“应用程序文件夹”节点。

在“操作”菜单上指向“添加”,然后单击“项目输出”。

在“添加项目输出组”对话框中,从“项目”下拉列表中选择“My Notepad”。

从列表中选择“主输出”组。在“配置”框中,选择“(活动)”。单击“确定”关闭对话框。

在“生成”菜单上选择“生成 My Notepad Installer”。

部署应用程序(基本安装程序)
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“项目”菜单上选择“安装”。

此时,将运行安装程序(安装向导),并在开发计算机上安装“My Notepad”。

注意
您必须在计算机上拥有安装权限才能运行该安装程序。


可选的部署功能

此步骤演示了可选的部署功能。此步骤为应用程序创建一个快捷方式,该快捷方式将在安装过程中放置到目标计算机的桌面上。

为基于 Windows 的应用程序创建快捷方式
在“解决方案资源管理器”中选择“My Notepad Installer”项目。

在“文件系统编辑器”中,选择“来自 My Notepad 的主输出”节点。

在“操作”菜单上选择“创建 来自 My Notepad 的主输出的快捷方式”。

此时,将会添加一个名为“来自 My Notepad 的主输出的快捷方式”节点。

将该快捷方式重命名为“My Notepad 的快捷方式”。

选择“My Notepad 的快捷方式”,将它拖到左窗格的“用户桌面”文件夹中。

创建文件关联
此步骤为“My Notepad”添加文件关联,以便双击 .vbn 文件时将打开“My Notepad”应用程序。

为基于 Windows 的应用程序创建文件关联
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“视图”菜单上指向“编辑器”,然后选择“文件类型”。此时将会显示“文件类型编辑器”。

在“文件类型编辑器”中,选择“目标计算机上的文件类型”节点。在“操作”菜单上选择“添加文件类型”。

此时,将会添加一个名为“新文档类型 #1”的节点,该节点打开以便于重命名。

将“新文档类型 #1”重命名为 Vbn.doc。

在“属性”窗口中,将文件类型的“Extension”属性设置为 vbn。

选择“Command”属性,单击省略号(“...”)按钮。在“选择项目中的项”对话框中,定位到“应用程序文件夹”,选择“来自 My Notepad 的主输出”。

单击“确定”关闭对话框。

添加注册表项
此步骤将一个注册表项以及相应的值添加到注册表中。运行时,可以从应用程序代码中引用此注册表项以检索用户特定的信息。

为基于 Windows 的应用程序添加注册表项
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“视图”菜单上指向“编辑器”,然后选择“注册表”。此时,将会显示“注册表编辑器”。

在“注册表编辑器”中,选择“HKEY_CURRENT_USER”节点并展开它,再展开“Software”节点,然后选择“[Manufacturer]”节点。

注意
“[Manufacturer]”节点用方括号括起来,这表示它是一个属性。它将被替换为输入的部署项目的 Manufacturer 属性值。


在“操作”菜单上指向“新建”,然后单击“注册表项”。

将该注册表项重命名为 UserChoice 并选定它。

在“操作”菜单上指向“新建”,然后单击“字符串值”。

将字符串值重命名为 TextColor。

在“属性”窗口中,选择“Value”属性,输入 Black。

添加自定义安装对话框
此步骤添加并配置一个在安装期间显示的自定义用户界面对话框。

添加自定义安装对话框
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“视图”菜单上指向“编辑器”,然后选择“用户界面”。此时,将会显示“用户界面编辑器”。

在“用户界面编辑器”中,选择“安装”节点下的“启动”节点。

在“操作”菜单上选择“添加对话框”。

在“添加对话框”对话框中,选择“复选框 (A)”。

单击“确定”关闭对话框。

右击“复选框 (A)”对话框,选择“上移”两次,将其定位到“安装文件夹”对话框的上面。

在“属性”窗口中,将“BannerText”属性设置为“示例”。

将“BodyText”属性设置为下面的内容:

“安装示例”复选框控制是否安装示例文件。如果该复选框保留为未选中状态,将不安装示例。

将“CheckBox1Label”属性设置为“安装示例吗?”

将“Checkbox2Visible”、“Checkbox3Visible”和“Checkbox4Visible”属性设置为“False”。这将隐藏其他复选框。

使用示例
此步骤创建一个 Samples 子文件夹,它将被安装到 Application 文件夹的下面。

添加 Samples 文件夹
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“视图”菜单上指向“编辑器”,然后选择“文件系统”。选择“应用程序文件夹”(如果尚未选中)。

右击“应用程序文件夹”,在上下文菜单上指向“添加”,然后单击“文件夹”。

将“新建文件夹 #1”重命名为 Samples。

此步骤创建两个示例文本文件,如果用户在自定义对话框中选择“安装示例”选项,将会安装这两个文本文件。

为应用程序创建示例文件
使用记事本或其他文本编辑器,创建一个包含文本“这是 rules.vbn”的文本文件。将其另存为 Rules.vbn。

注意
若要防止记事本自动添加 .txt 扩展名,请从“文件类型”下拉列表中选择“所有文件”。


再创建一个包含文本“这是 memo.vbn”的文本文件。将其另存为 Memo.vbn。

此步骤将示例文件添加到 Samples 文件夹中,并设置决定是否安装该文件的条件。

将示例添加到安装程序中
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“视图”菜单上指向“编辑器”,选择“文件系统”,然后选择“Samples”文件夹。

在“操作”菜单上指向“添加”,然后选择“文件”。将“Rules.vbn”和“Memo.vbn”文件添加到“Samples”文件夹中。

在“文件系统编辑器”中选择“Rules.vbn”文件。

在“属性”窗口中,将“Condition”属性设置为“CHECKBOXA1=1”。运行安装程序时,只有在选中了此自定义复选框的情况下,才会安装“Rules.vbn”文件。

在“文件系统编辑器”中选择“Memo.vbn”文件。

在“属性”窗口中,将“Condition”属性设置为 CHECKBOXA1=1。运行安装程序时,只有在选中了此自定义复选框的情况下,才会安装“Memo.vbn”文件。

添加启动条件
此步骤检查目标计算机上是否安装了 Internet Explorer 5.0 或更高版本,如果未安装所需的文件,将停止安装。

添加启动条件来检查 Internet Explorer 版本
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“视图”菜单上指向“编辑器”,然后单击“启动条件”。

注意
此步骤的用意仅仅在于说明启动条件的概念;事实上,“My Notepad”应用程序不依赖于 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 并重新运行 My Notepad Installer。

设置系统必备组件的属性
此步骤设置一个属性,以便在目标计算机上没有正确版本的 Windows Installer 时,自动安装 Windows Installer 应用程序文件。

如果按照以下方式设置系统必备组件的属性,单击 setup.exe 时将会自动安装 Windows Installer。如果部署的是 .NET Framework 应用程序,那么在运行 .msi 文件之前,setup.exe 还会安装 .NET Framework(这是默认设置)。有关指定系统必备组件的更多信息,请参见“系统必备”对话框。

设置部署项目的可选属性
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“视图”菜单上选择“属性页”。

在“My Notepad Installer 属性页”对话框的“安装 URL”中,指定用于安装应用程序和/或系统必备组件的服务器或网站的 URL。单击“系统必备”按钮。

在“系统必备”对话框中“请选择要安装的系统必备组件”的下方,选择“Windows Installer”,并保留“.NET Framework”的选中状态。接受“指定系统必备组件的安装位置”下方的默认设置。

在“生成”菜单上选择“生成 My Notepad Installer”。

在开发计算机上安装
此步骤将运行安装程序并在开发计算机上安装“My Notepad”。

在开发计算机上安装“My Notepad”
在“解决方案资源管理器”中选择“My Notepad Installer”项目。在“项目”菜单上选择“安装”。

注意
您必须在计算机上拥有安装权限才能运行该安装程序。


部署到其他计算机
此步骤将运行安装程序并将“My Notepad”安装到其他计算机。

将“My Notepad”部署到其他计算机上
在“Windows 资源管理器”中,定位到项目目录并找到生成的安装程序。默认路径为 \Documents and Settings\yourloginname\My Documents\Visual Studio 2005\Projects\Solution Folder Name\My Notepad Installer\project configuration\My Notepad Installer.msi。(默认 project configuration 为“Debug”或“Release”。)

将 My Notepad Installer.msi、Setup.exe 以及该目录下的其他所有文件和子目录复制到另一台计算机上。

注意
若要在未联网的计算机上安装,请将文件复制到诸如 CD-ROM 的传统媒体中。


在目标计算机上双击 Setup.exe 运行安装程序。

注意
您必须在目标计算机上拥有安装权限才能运行该安装程序。


测试
此步骤将会通过桌面快捷方式测试应用程序的启动,并且还将测试该应用程序的卸载。

测试安装
验证快捷方式是否安装到了桌面上以及是否能够正确启动“My Notepad”应用程序。

使用控制面板中的“添加/删除程序”工具卸载该应用程序。在“添加/删除程序”中,选择“My Notepad”,然后单击“删除”按钮。

提示
若要从开发计算机上卸载,请在“项目”菜单上选择“卸载”。


将从桌面上移除图标,从计算机上删除安装的应用程序文件和文件夹。
zdjray 2007-12-27
  • 打赏
  • 举报
回复
http://www2.cnblogs.com/yuanermen/archive/2007/04/03/698012.html

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧