加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

安装 – Wix返回错误“在模块中找不到CA或UI入口点”但在dll中使

发布时间:2020-12-14 01:54:11 所属栏目:Windows 来源:网络整理
导读:首先,为模糊的屏幕截图道歉并且不包括代码中的全名. 我在使用Wix Framework尝试使用dll中的自定义操作时遇到问题. 我正在使用Wix 3.10.2 我在我的解决方案下有一个名为Install.CustomAction的C#Custom Action项目.然后在主Wix项目中引用它.你可以在这看到 我
首先,为模糊的屏幕截图道歉并且不包括代码中的全名.

我在使用Wix Framework尝试使用dll中的自定义操作时遇到问题.

我正在使用Wix 3.10.2

我在我的解决方案下有一个名为Install.CustomAction的C#Custom Action项目.然后在主Wix项目中引用它.你可以在这看到

enter image description here

我在主Product.wxs文件中将CA dll引用为二进制文件

<Binary Id="CustomActions.dll" SourceFile="$(var.<porjectname>.Install.CustomAction.TargetDir)<projectname>.CustomAction.CA.dll"/>

现在在一个片段中,我有像这样引用的动作

<CustomAction Id="CA_RestoreDB" BinaryKey="CustomActions.dll" DllEntry="RestoreMobileDB" Execute="immediate" Return="check" />
<InstallExecuteSequence>
  <Custom Action="CA_RestoreDB" After="InstallFinalize"/>
</InstallExecuteSequence>

所以,尽管如此,我希望一切顺利.

在名为CustomAction.cs的实际c#文件中,我使用[CustomAction]属性进行了此设置

[CustomAction]

public ActionResult RestoreMobileDB(Session session)
{
    //string installPath = session.GetTargetPath(TARGETDIR);
    string x = session["INSTALLFOLDER"];
    session.Log("Begin CustomAction1");
    doSomeStuff(x,session);

    return ActionResult.Success;
}

到目前为止,一切看起来都很好,而且我正在努力工作.但是当我来编译所有内容时,我得到了这个错误

Severity    Code    Description Project File    Line    Suppression State
Error       The command ""C:Program Files (x86)WiX Toolset v3.10bin..sdkMakeSfxCA.exe" "C:Work FilesDevelopment&;product>&;solution>&;project>.Install.CustomActionobjx86Release&;project>.Install.CustomAction.CA.dll" "C:Program Files (x86)WiX Toolset v3.10bin..sdkx86SfxCA.dll" "C:Work FilesDevelopment&;product>&;solution>&;project>Install.CustomActionobjx86Release&;project>.Install.CustomAction.dll" "C:Program Files (x86)WiX Toolset v3.10SDKMicrosoft.Deployment.WindowsInstaller.dll;C:Work FilesDevelopment&;product>&;solution>&;project>.Install.CustomActionCustomAction.config"" exited with code 1.    <project>.Install.CustomAction

接下来是这个错误

No CA or UI entry points found in module

你知道是什么原因引起的吗?我已经指定了一个入口点,并在我的.wxs文件中引用了dll,但它似乎对我不起作用.

解决方法

我认为它需要:

public static ActionResult ...

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读