• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

自定义 MSI 安装

发布: 2008-5-14 09:40 | 作者: 不详 | 来源: ccid | 查看: 245次 | 进入软件测试论坛讨论

领测软件测试网


osql.WaitForExit();
EventLog.WriteEntry( 
  "DatabaseInstaller","Database created..");
osql.Dispose();
return true;

ProcessStartInfo 可用于对您将要启动的进程(OSQL)进行更好的控制。它为您提供了一种用于设置参数、控制窗口样式等的简便方法。然后,它可以与清单 4 中所示的进程 结合使用。该进程启动之后,您可以等待它退出,也可以使用 WaitForExit 方法来控制退出时间。另外,您在构造函数中使用初始化的 XmlDocument 来选择一个预定义的节点,您在其中存储了数据库脚本文件的名称。然后,您将参数构建的过程委托给一个特定的方法 (GetCommonProcessArguments),同时传递了该脚本文件的名称以及要从中运行的数据库上下文的名称。在数据库创建过程中,您可以将 master 作为数据库传递,原因是您的应用程序数据库正处于创建过程中。下一行代码(方法 PopulateDatabaseNamePlaceHolder)使用用户提供的实际名称来替换数据库名称的占位符。 

请注意,无论何时,只要存在 try、catch 代码块或者发生了自定义异常,就会引发一个 InstallException。它的类型为 SystemException,该安装程序甚至会在 Commit、Rollback 和 Uninstall 阶段引发这种类型的异常。较好的做法是使用 EventLog 或自定义安装日志文件来跟踪并记录该错误。您可以使用 Context 属性来创建自定义日志。 

您已经为数据库创建成功自定义了安装!

使用相似的方式,您可以重写 Installer 类的 Uninstall 方法,然后复制附带示例中的代码。此时您会看到,当用户确认时,删除数据库的任务就委托给 DatabaseInstaller 类。在接下来的步骤中,您将创建一个安装项目,并使用它进行部署。

返回页首
创建安装项目并进行安装
最后,您要准备创建安装项目了。表 4 说明了 VS.NET 提供的各种部署方式(另请参见图 2)。

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网