部署.net平台的程序

** 部署 .net ** ** 平台的程序 **

郑 佐 2005-5-31

部署用 .net 写的程序时客户系统需要安装对应版本的 .net Framework ,而 VS.NET 自带的安装程序项目没有提供一起打包框架的功能,这一点让许多开发者觉得不爽,在 csdn 论坛上也有人提及如何方便的把 .net 程序部署到没有安装框架的 windows 系统上。几个月前下载了 Microsoft Visual Studio .NET 2003 引导程序插件 (其实这个微软早在 2003 年底已经提供了,但是我一直没有发现 ) 。前段时间把这个插件安装了一下,发现 vs.net 2003 的菜单和工具栏里面都没有找到对应的命令,觉得很奇怪,因为像 WMI 的 vs.net2003 插件 安装上后在服务器资源管理器里面就会显示,所以一直以为有问题,后来也就没有去关心它。

上个月,我手上刚好有一个 .net 应用程序完成需要打包,结果惊奇的发现在安装文件的同级目录下一下子多出了好几个文件,终于明白是怎么一回事了。

下面是编译后的文件列表:

Config.ini -- 安装配置文件

DotmanagementServer Installer.msi --msi 安装程序

dotnetfx.exe --.net 1.1 framework

langpack.exe -- 语言包

Settings.ini -- 设置文件

Setup.exe -- 主安装程序

** Config.ini ** ** 文件的内容如下: ** ** **

[config.ini]

IDS_NOT_SINGLE_INSTANCE= 已有另一版本的安装程序正在运行。 该应用程序一次只能运行一个版本。

IDS_DIALOG_CAPTION=%s 安装

IDS_SINGLE_INSTANCE_FAIL=CreateMutex 无法对单个的实例检查分配句柄。

IDS_SETUP_FAILURE=%s 安装失败。如果问题继续存在,请与产品支持人员联系。

IDS_DEFAULT_PRODUCTNAME= 应用程序

IDS_SETTINGS_INIT_FAILURE= 安装设置文件 '%s' 在解析时出错,或者无法定位该文件。

IDS_CREATE_PROCESS_FAILURE= 下列命令行的 CreateProcess 操作失败 : %s 。

IDS_INSUFFICIENT_PRIVILEGES= 运行 %s 安装程序要求具有本地系统管理员的权限。安装程序现在退出。

IDS_DIALOG_TEXT= 单击“确定”开始安装 %1 。单击“取消”退出安装。

IDS_ERROR_CAPTION=%s 安装错误

IDS_VERSION_DETECT_FAILED=%1 的版本检测失败。请确保安装程序存在于指定位置。 %n%n 返回消息 : %2

IDS_MSI_NOT_FOUND= 无法定位产品安装程序 '%s' 。安装程序现在退出。

IDS_REBOOT_QUERY= 安装完成。现在重启吗 ?

IDS_SETUP_SUCCEEDED= 安装成功。

IDS_INVALID_LANGID_CAPTION= 无效的语言包代码

IDS_FX_NOT_FOUND= 无法定位 .NET framework exe 文件 '%s' 。安装程序现在退出。

IDS_INVALID_LANGID_MESSAGE= 语言包代码 %s 无效。跳过 ...

IDS_LANGPACK_NOT_FOUND= 无法定位语言包 %s 。安装程序现在退出。

IDS_MDAC_NOT_FOUND= 无法定位 MDAC exe 文件 '%s' 。安装程序现在退出。

IDS_FILE_NOT_FOUND= 无法定位 '%1' 。安装程序现在退出。

** Settings.ini ** ** 文件内容如下: ** ** **

[Bootstrap]

MsiPath=DotmanagementServer Installer.msi

ProductName= 服务聚合处理管理系统

MdacVersion=2.71

BootstrapFx=true

FxInstallerPath=

LanguageID=2052

BootstrapLangPack=true

LangPackInstallerPath=

BootstrapMdac=false

我在微软的 Virtual PC 上的 windows2000 中对该程序进行了部署,整个安装过程如下:

点击安装程序 > 提示确定开始安装,取消推出安装 > 系统没有安装 .net Framewrok 提示是否希望安装 Mircrosoft .NET Framework 1.1 软件包 > 没有安装 IE 5.01 或更高版本提示先安装 IE 高版本 > .NET Framework 1.1 安装 > 提示安装 Microsoft .NET Framework 语言套件 > 安装应用程序向导 > 提示安装成功。

点击程序运行,一切象预想的那样。相信许多人已经在使用了,但更多人可能没有用过这个傻瓜式的插件。

网上在 .net 程序部署方面有许多相关的文章,下面几篇我认为是比较好的:

自定义 MSI 安装

http://www.microsoft.com/china/msdn/library/langtool/vsdotnet/usvs04j7.mspx

把 .NET 程序部署到没有安装 .NET Framework 的机器上

http://www.microsoft.com/China/Community/program/originalarticles/TechDoc/deployNETApp.mspx

部署 ASP.NET 的三大技术

http://tech.ccidnet.com/pub/article/c295_a68309_p1.html

使用 Visual Studio .NET 重新分发 .NET 框架

http://www.microsoft.com/china/msdn/library/netFramework/netframework/VCSdnnetdepvsredistdeploy.mspx

部署程序集

http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/softwaredev/misbasicinstincts.mspx

在 VS.NET 中通过 Setup and Deployment Projects 来制作自己的安装程序的示例:

http://msdn.microsoft.com/library/en-us/vsintro7/html/vbconDeploymentScenarios.asp

Published At
Categories with Web编程
Tagged with
comments powered by Disqus