今天早些时候,我与某人讨论,我发现您可以在 Visual Studio 安装项目中使用自定义操作来执行您自己的安装程序类,您通常会使用 InstallUtil 运行这些类(这对于我正在开发的新项目非常有用) )。
该人士建议我不惜一切代价避免自定义操作,并表示当您需要使用自定义操作时,您需要提出自己的解决方案,并表示这是许多人都认可的,并且已经得到了认可。很长一段时间。
我进行了搜索,找不到任何人对此表示担忧的论坛,我只是想知道是否有人知道不应使用自定义操作的任何原因?
我想确保在我的新项目中使用最可靠的解决方案,这让我对我当前的方法产生了一些担忧,但是与我讨论的人无法给我一个例子来说明原因这是一个坏主意,所以我只是想确认他们所说的是否成立。
最佳答案
我有很多理由,但这是一次漫长而主观的谈话。这里有几个链接可以帮助您入门。总之,要记住的事情是维护 MSI 的声明性 native (作者表数据驱动、事务性自定义操作),并且非常非常努力地工作,以免给安装程序带来脆弱性。由于 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。在我看来,战略部分有些乐观,并在第二个链接中进行了更多讨论。这也是我自己博客中的一些背景:
关于visual-studio - 不在 Visual Studio 安装项目中使用自定义操作的原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10706888/