我已经能够触发C#自定义操作overrride的MSI上安装和committ阶段。然而,部署一个ASP.NET应用程序时,我希望能够执行检查安装甚至开始之前。

我知道,有启动条件,但是,我希望能在我自己的代码插在这里处理后推出自己是从我所看到的启动条件是检查只是检查的IIS等的正确版本?

任何人都可以点我朝着正确的方向,或者即使有一种方式来获得的启动条件,解雇一些C#?

有帮助吗?

解决方案

我觉得用一个自定义操作设置一个属性值,然后运行一个启动条件检查的属性值将是单向的。然而,这似乎并不适用于VS安装项目,因为自定义操作不直到发射条件后运行。 维克斯将允许更大的控制和应允许较早地执行自定义动作。

这样做将有自定义操作抛出一个异常,并有安装回滚,但是这将是一个丑陋的黑客攻击的原始方法。

我发现了一个论坛主题讨论如何来检查某些服务正在运行安装,也许会导致你在正确的方向。

其他提示

只是安排您的自定义操作的后,立即的LaunchConditions。其结果是对于所有的意图和目的相同。

在的InstallShield当它经由下拉式菜单运行这只是一个选择的问题。或者使用WiX的,这将是这样的:

  <Custom Action="BlahBlahBlah" After="LaunchConditions">1</Custom>

像往常一样,任何人都开始使用MSI我建议你阅读权威指南到Windows安装。它提供了宝贵的低层次的知识(使用Visual Studio安装项目和海怪),如果你使用的WiX的,InstallShield会或任何其他工具来构建MSI文件适用不管。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top