Installer自定义安装类

本文档介绍了如何在 .NET Framework 中创建自定义安装类,包括继承Installer类、重写核心方法,以及如何处理安装、提交、回滚和卸载操作。讨论了InstallUtil.exe的使用,并强调了在安装过程中正确管理状态的重要性,如使用IDictionary来保存和恢复系统状态。还提到了Installer.Context属性在提供安装信息方面的作用。
摘要由CSDN通过智能技术生成

这是 .NET Framework 中所有自定义安装程序的基类。安装程序是帮助在计算机上安装应用程序的组件。

使用 Installer 时必须遵循几个步骤。

  • 继承 Installer 类。

  • 重写 InstallCommitRollbackUninstall 方法。

  • 向派生类添加 RunInstallerAttribute,并将其设置为 true

  • 将派生类放置在带有要安装的应用程序的程序集内。

  • 调用安装程序。例如,使用 InstallUtil.exe 调用安装程序。

Installers 属性包含安装程序的集合。如果 Installer 的此实例是安装程序集合的一部分,则 Parent 属性设置为包含该集合的 Installer 实例。有关 Installers 集合用法的示例,请参见 AssemblyInstaller 类。

Installer 类的 InstallCommitRollbackUninstall 方法遍历存储在 Installers 属性中的安装程序的集合,并调用每个安装程序的相应方法。

InstallCommitRollbackUninstall 方法并非总是在同一 Installer 实例上调用。例如,在安装和提交应用程序时可能使用一个 Installer 实例,然后释放对该实例的引用。以后卸载应用程序时将创建对新的 Installer 实例的引用,这意味着由 Installer 的另一个实例调用 Uninstall 方法。因此,在派生类中,不要在安装程序中保存计算机的状态。而请使用 IDictionary,它可跨调用保留并传递给 InstallCommitRollbackUninstall 方法。

两种情况可以阐释在状态保护程序 IDictionary 中保存信息的必要性。第一种情况,假定安装程序设置了注册表项。它应在 IDictionary 中保存该项的原始值。如果安装被回滚,则可以还原原始值。第二种情况,假定安装程序替换现有文件。将现有文件保存在临时目录中,并将该文件的新位置的位置保存在 IDictionary 中。如果安装被回滚,则删除新文件并将其替换为临时位置中的原始文件。

Installer.Context 属性包含关于安装的信息。例如,关于安装日志文件位置的信息,Uninstall 方法所要求的保存文件的位置的信息,以及运行安装可执行文件时输入的命令行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值