2011-04-01 95 views
0

让我想象我已经编写了一个自定义操作托管类库,我打算在WiX安装项目中使用它。类库包含几个具有“安装”方法的类。我打算从我的安装程序包中启动这些方法作为自定义操作,因此我使用CustomActionAttribute标记了所有这些方法。那么会发生什么?只会启动一种方法,或者所有这些方法或安装项目的编译都会失败?这被认为是一种很好的做法吗?WiX中的自定义操作方法调用

回答

0

我试图编译自定义操作类库时模拟了这个问题,并且出现以下错误: 已添加具有相同键的项目。 所以这意味着在类库中不可能使用同名的方法,或者至少我们不应该那样做。

2

一个更好的做法是:

1)消除CA公司在可能的情况(不重新发明轮子) 2)使CA的通用和声明(表格数据驱动) 3)使CA的是事务性只要有可能(支持回滚) 4)不要使用InstallUtil,使用WiX的DTF,而不是 5)了解自定义操作上下文/调度担忧

0

你应该从来没有真正被安装与自定义操作的事情,因为这是整个MSI什么事情是为了。

如果您确实想要这样做,请确保您在ExecuteInstallSequence表中安排您的操作,否则它们将无法运行。此外,请确保您的DLL包含在二进制表中,并且您的自定义操作引用该二进制文件。