0

我有一个自定义操作来执行自定义操作 DLL,但它失败了,我相信这是因为它不知道如何读取强名称程序集

所以我有这个:

  <Binary Id="StrongName" SourceFile="$(var.MyProject.TargetDir)MyProject.CA.dll"/>

  <CustomAction Id="CreateIt"
                BinaryKey="StrongName"
                DllEntry="Create"
                Execute="deferred"
                Return="check"
                HideTarget="no"
                Impersonate="no" />

  <CustomAction Id="RemoveIt"
                BinaryKey="StrongName"
                DllEntry="Remove"
                Execute="deferred"
                Return="check"
                HideTarget="no"
                Impersonate="no" />

     <InstallExecuteSequence>
          <Custom Action="CreateIt" Before="InstallFinalize">(NOT REMOVE =       "ALL")</Custom>
          <Custom Action="RemoveIt" Before='InstallFinalize'>(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")</Custom>
     </InstallExecuteSequence>

那么在执行这个 DLL 时如何引用签名呢?

4

2 回答 2

1

我从您正在使用的 *.CA.DLL 命名法中假设这是一个 DTF 自定义操作。这是托管托管 DLL 的本机封装 DLL。作为本地人,它不能被强命名。

记录安装并查看日志以了解失败的原因。

于 2012-04-16T15:38:03.270 回答
0

我的问题的解决方案是由 .NET 4 不支持的过时库引起的安全问题,这是一个不同的主题,所以除非有人好奇,否则我不会详细介绍它。

于 2012-04-16T15:52:35.547 回答