不在Visual Studio安装项目中使用自定义操作的原因

时间:2012-05-22 17:18:45

标签: visual-studio wix setup-project custom-action

今天早些时候我和某人讨论过,我发现你可以在Visual Studio安装项目中使用自定义操作来执行你通常使用InstallUtil运行的安装程序类(这对我正在处理的新项目非常有用) )。

所述人建议我不惜一切代价避免自定义操作,说明当你需要使用自定义操作时需要提出自己的解决方案,并说这是许多人都认可的事情很长一段时间。

我进行过搜索,无法找到任何人对此表示担忧的论坛,我只是想知道是否有人知道为什么不应该使用自定义操作?

我想确保我在我的新项目中使用最可靠的解决方案,这让我对我目前的方法有些担忧,但我与之讨论的人无法给我一个例子说明为什么这是一个坏主意,所以我只想确认他们所说的是否有水。

1 个答案:

答案 0 :(得分:3)

我有很多理由,但这是一个长期和主观的对话。这里有几个链接可以帮助您入门。总而言之,要记住的是维护MSI的声明性本机(作者表数据驱动,事务性自定义操作),并且确实很难不为您的安装程序引入脆弱性。由于InstallUtil / Installer类自定义操作的设计,它们只是一个非启动器。使用WiX的DTF(部署工具基础)管理的自定义操作项目类型(C#/ VB.NET)。

Managed Code CustomActions, no support on the way and here's why

Custom actions are (generally) an admission of failure

注意,对于第一个链接,由于DTF的发布,“技术”部分是OBE。战略部分有点乐观IMO,并在第二个环节进行了更多讨论。这也是我自己博客的一些背景知识:

MSI vs .NET

The Price of Ideology and a Great New Hope

Deployment Tools Foundation (DTF) Managed Custom Actions