Wix和自定义.net dll
我正在寻找一些wix项目的完整样本,参考.NET DLL(完整的WIX VS项目,.net DLL VS项目和编译.net DLL)。Wix和自定义.net dll
我正在尝试运行SampleAskKeyNet,并且经常出现错误“此Windows安装程序包存在问题。无法运行此安装所需的DLL无法运行。请联系您的支持人员或程序包供应商,我试图找到我犯了什么错误
我在VS中创建了wix项目,VS中的.net dll项目,编译后的dll项目,将CheckPidPackage.dll复制到wix VS项目目录并编译wix项目,然后运行它我得到这个错误
我忘了在dll上使用MakeSfxCA.exe来包装它
个更多细节在这里Custom Action in C# used via WiX fails with error 1154这里http://blog.deploymentengineering.com/2008/05/deployment-tools-foundation-dtf-custom.html
对我来说,这是我的CustomAction DllEntry不符合我的方法名。即
<CustomAction Id="CheckingPID" BinaryKey="CheckPID.CA" DllEntry="BadValue" />
public static ActionResult CheckPID(Session session)
哇。我的部分出现语法错误。 d'oh!...感谢发布! – granadaCoder 2017-02-03 19:36:43
在接受的答案(由用户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"/>
这解决了我的问题。
侧面问题。你如何设置变量“$(var.Configuration)”,以便它正确地调试或发布? – granadaCoder 2017-02-03 20:22:41
非常感谢你 – Darqer 2010-12-14 15:07:59