2

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

该人建议我不惜一切代价避免自定义操作,并指出当您需要使用自定义操作时,您需要提出自己的解决方案,并说这是很多人都认可的事情,并且已经存在很长时间了时间。

我进行了搜索,但找不到任何人对此表示担忧的单个论坛,我只想知道是否有人知道不应使用自定义操作的任何原因?

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

4

1 回答 1

2

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

托管代码 CustomActions,途中没有支持,这就是原因

自定义操作(通常)是承认失败

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

微星与.NET

意识形态的代价和伟大的新希望

部署工具基础 (DTF) 托管的自定义操作

于 2012-05-22T17:35:05.820 回答