0

I have a custom action to execute a custom action DLL but it is failing and I believe it's because it does not know how to read the strong name assembly

so I have this:

  <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>

So how do I reference the signature as I execute this DLL?

Pittfall
  • 2,751
  • 6
  • 32
  • 61
  • By the way, the only error I have is. The wizard ended prematurely because of an error. I have no more detail past this and do not know how to get more detail – Pittfall Apr 16 '12 at 14:17
  • If you enable Windows Installer Logging you should get all kinds of error detail including a .net stack dump. – Christopher Painter Apr 16 '12 at 17:10

2 Answers2

1

I assume from the *.CA.DLL nomenclature that you are using that this is a DTF custom action. This is a native encapsulated DLL that hosts your managed DLL. Being native, it can't be strong named.

Log the install and look through the log for the reason it is failing.

Christopher Painter
  • 54,556
  • 6
  • 63
  • 100
0

The solution to my problem was a security issue caused by an obsolete library which is not supported in .NET 4 and it is a different topic so I will not go into detail on it unless someone is curious.

Pittfall
  • 2,751
  • 6
  • 32
  • 61