Question

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?

Était-ce utile?

La solution 2

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.

Autres conseils

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top