在接受的答案(由用户431821)中提到的链接确实有帮助,但发布确切的东西,这对我很有帮助。
自定义操作项目创建2个dll。如果项目是CustomActionProject,它会创建CustomActionProject.dll和CustomActionProject.CA.dll
我被引用到CustomActionProject.dll下面是常规DLL。
<Binary Id="CustomActionProject"
src="..\CustomActionProject\bin\$(var.Configuration)\CustomActionProject.dll" />
<CustomAction Id="MyAction"
Return="check"
BinaryKey="CustomActionProject"
DllEntry="Validate"/>
WIX创建CustomActionProject.CA.dll,它实际上不是.NET托管程序集,而是非托管程序集。所以我们必须参考它而不是常规的。
<Binary Id="CustomActionProject"
src="..\CustomActionProject\bin\$(var.Configuration)\CustomActionProject.CA.dll" />
<CustomAction Id="MyAction"
Return="check"
BinaryKey="CustomActionProject"
DllEntry="Validate"/>
这解决了我的问题。
非常感谢你 – Darqer 2010-12-14 15:07:59